알고리즘/백준

백준-9095번/1, 2, 3 더하기

연향동큰손 2024. 2. 5. 20:05

 

문제를 보자마자 저걸 다 계산하는 프로그램은 시간이 엄청 걸릴 것이라고 생각했다

 

따라서 점화식을 만들어서 그에 대한 배열로 각 각의 요소의 값을 넣는 방식으로 코드를 짜야겠다고 구상

 

<점화식>

n=4 일때

맨 앞 이 1 + (n=3일때 방법의 수)

맨 앞 이 2 + (n=2일때 방법의 수)

맨 앞 이 3 +(n=1일때 방법의 수)

 

점화식 ==> arr[i]=arr[i-1]+arr[i-2]+arr[i-3];

 

 

코드

package baekjoon;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Scanner;

public class Main {
	
	public static void main(String[] args){
		Scanner scanner = new Scanner(System.in);
		int t=scanner.nextInt();
		int[] arr = new int[12];
		arr[1]=1;
		arr[2]=2;
		arr[3]=4;
		for(int i=4; i<=11; i++) {
			arr[i]=arr[i-1]+arr[i-2]+arr[i-3];
		}
		for(int i=0; i<t; i++) {
			int n=scanner.nextInt();
			System.out.println(arr[n]);
		}
	}
}