# BOJ09095 1, 2, 3 더하기
https://www.acmicpc.net/problem/9095 (opens new window)
정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다.
- 1 + 1 + 1 + 1
- 1 + 1 + 2
- 1 + 2 + 1
- 2 + 1 + 1
- 2 + 2
- 1 + 3
- 3 + 1
정수 n이 주어질 때, n을 1, 2, 3의 합으로 나타낸다.
# 제출 코드
위 문제는 특정한 규칙을 따른다.
x = 1 이면 f(x) = 1
x = 2 이면 f(x) = 2
x = 3 이면 f(x) = 4
x가 4 이상이면 f(x) = f(x - 1) + f(x - 2) + f(x - 3)
아래는 최종 제출 코드이다.
import java.util.Scanner;
public class BOJ9095 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] dp = new int[11];
int t = scanner.nextInt();
for (int i = 1; i < dp.length; i++) {
if (i == 1) {
dp[i] = 1;
} else if (i == 2) {
dp[i] = 2;
} else if (i == 3) {
dp[i] = 4;
} else {
dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3];
}
}
for (int i = 0; i < t; i++) {
int n = scanner.nextInt();
System.out.println(dp[n]);
}
}
}