https://www.acmicpc.net/problem/15624
코드설명
DP 문제입니다.
피보나치의 점화식인 Fn = Fn-1 + Fn-2 를 그대로 구현하면 됩니다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static int N;
public static long[] dp = new long[1000001];
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
dp[0] = 0;
dp[1] = 1;
dp[2] = 1;
for(int i=2;i<=N;i++) {
dp[i] = ( dp[i-1] + dp[i-2] ) % 1000000007;
}
System.out.println(dp[N] % 1000000007);
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 9461 파도반 수열 - DP(동적계획법, Dynamic Programming) JAVA (0) | 2023.10.17 |
---|---|
[백준] 2491 수열 - DP JAVA (0) | 2023.10.17 |
[백준] 10211 Maximum Subarray - DP JAVA (0) | 2023.10.15 |
[백준] 13699 점화식 - DP JAVA (0) | 2023.10.13 |
[백준] 11478 서로 다른 부분 문자열의 개수 - 문자열 + HashSet JAVA (0) | 2023.10.12 |