1. 문제
2. 문제풀이
n=1일때부터 n=4일때까지 그려보고 d[n]=d[n-2]+d[n-1] 규칙을 찾을 수 있었다.
이때, n<=2일 경우는 예외처리를 해주었다.
3. 소스코드
import java.util.Scanner;
public class Main {
public static int[] d;
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
d = new int[1001];
System.out.println(solve(n));
}
public static int solve(int n) {
if (n == 1 || n == 2) {
d[n] = n % 10007;
return d[n];
} else {
for (int i = 1; i <= n; i++) {
if (i == 1) {
d[i] = 1;
} else if (i == 2) {
d[i] = 2;
} else {
d[i] = d[i - 2] + d[i - 1];
d[i] %= 10007;
}
}
}
return d[n];
}
}
'알고리즘 풀이 > 백준(BOJ)' 카테고리의 다른 글
[JAVA/백준10828] 스택 (0) | 2019.06.02 |
---|---|
[JAVA/백준9095] 1,2,3 더하기 DP (0) | 2019.06.02 |
[JAVA/백준10818] 최소, 최대 (0) | 2019.05.31 |
[JAVA/백준1924] 2007년 (0) | 2019.05.31 |
[JAVA/백준11021] A + B - 7 (0) | 2019.05.31 |