문제
예제
풀이
이 풀이를 참고했다.
코드
import java.util.Scanner;
public class Main {
static Integer[] dp;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
dp = new Integer[N+1];
dp[0] = dp[1] = 1;
System.out.println(caculate(N));
}
static int caculate(int n) {
if(dp[n] == null) {
dp[n] = (caculate(n-1) +(2*caculate(n-2))) % 10007;
}
return dp[n];
}
}
'PS(Java) > 백준' 카테고리의 다른 글
[PS] 백준 10844번 쉬운 계단 수 - DP (0) | 2022.02.06 |
---|---|
[PS] 백준 9095번 1, 2, 3 더하기 - DP (0) | 2022.02.06 |
[PS] 백준 11726번 2×n 타일링 - DP (0) | 2022.02.05 |
[PS] 백준 1463번 1로 만들기 - DP (0) | 2022.02.05 |
직렬화(Serialize)와 역직렬화(Deserialize) - 작성중 (0) | 2022.01.31 |