728x90
300x250
이친수가 미친수로 읽히는 건 나뿐인걸까?
역시나 1~5자리의 경우의 수를 다 써보고 규칙을 발견..
[n] = [n-1]+[n-2]이다.
*주의점: n이 1이들어올때는 dp[2]를 세팅하게되면 런타임 에러가 나니 주의
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Main {
public static long[] dp;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
dp = new long[n+1]; // 자리수 n일 때, 이친수의 수
dp[1] =1;
if(n>1)
dp[2] =1;
for (int i = 3; i <= n; i++) {
dp[i] = dp[i-1] + dp[i-2];
}
System.out.println(dp[n]);
}
}
728x90
'알고리즘 > DP' 카테고리의 다른 글
백준 2156번: 포도주 시식 [DP] - Java (0) | 2020.09.21 |
---|---|
백준 9465번: 스티커 [DP] - Java (0) | 2020.09.21 |
백준 11057번: 오르막 수 [DP] - Java (0) | 2020.09.21 |
백준 10844번: 쉬운 계단 수 [DP] - Java (0) | 2020.09.17 |
백준 9095번: 1, 2, 3 더하기 [DP] - Java (0) | 2020.09.16 |