반응형
N번째 이친수를 구하기
1) N번째가 0이 올 때
D(n-1) + 0 = D(n)
2) N번째가 1이 올 때 ( 바로 앞에 1이 올 수 없음 )
D(n-2) + 0 + 1 = D(n)
그러므로
D[N] = D[N-1] + D[N-2]
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
long[] D = new long[N + 1];
D[0] = 0L;
D[1] = 1L;
for (int i = 2; i <= N; i++)
D[i] = D[i-1] + D[i-2];
System.out.print(D[N]);
}
}
반응형
'Algorithm' 카테고리의 다른 글
백준 14002번 가장 긴 증가하는 부분 수열 4 [ Java ] (0) | 2021.04.04 |
---|---|
백준 11053번 가장 긴 증가하는 부분 수열 [ Java ] (0) | 2021.04.04 |
백준 15990번 1, 2, 3 더하기 5 [ Java ] (0) | 2021.04.02 |
백준 16194번 카드 구매하기 2 [ Java ] (0) | 2021.04.02 |
백준 11052번 카드 구매하기 [ Java ] (0) | 2021.04.02 |