[알고리즘]/백준

백준 2193 자바 - 이친수

broship 2021. 7. 27. 07:30

문제


https://www.acmicpc.net/problem/2193

 

2193번: 이친수

0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않

www.acmicpc.net

 

 

 

문제해결


- 피보나치 수열푸는 방식과 동일함

- n의 값이 1로 들어올때 dp[2] = 1;이 성립될수 없으므로 dp 배열의 사이즈는 넉넉하게 n+2로 한다

import java.util.Scanner;

public class B2193 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        long[] dp = new long[n+2];
        dp[1] = 1;
        dp[2] = 1;
        for (int i = 3; i <= n; i++) {
            dp[i] = dp[i-1] + dp[i-2];
        }
        System.out.println(dp[n]);
    }
}