https://www.acmicpc.net/problem/9095

 

9095번: 1, 2, 3 더하기

각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다.

www.acmicpc.net

풀이

4이상의 숫자는 input[i] = input[i - 1] + input[i - 2] + input[i - 3]

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {

	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();

		int T = Integer.parseInt(br.readLine());

		int[] input = new int[11];
		input[1] = 1;
		input[2] = 2;
		input[3] = 4;

		for (int i = 4; i < 11; i++) {
			input[i] = input[i - 1] + input[i - 2] + input[i - 3];
		}

		for (int testCase = 0; testCase < T; testCase++) {
			int N = Integer.parseInt(br.readLine());
			sb.append(input[N]).append("\n");
		}
		System.out.println(sb);
	}
}

+ Recent posts