boj)2193 - 이친수

2020. 9. 17. 15:53PS/boj

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

// # 이친수
public class boj_2193 {
    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    static long[][] dp = new long[91][2];

    public static void main(String[] args) throws Exception {
        dp[1][1] = 1;

        for (int i = 2; i <= 90; i++) {
            dp[i][0] = dp[i-1][0] + dp[i-1][1];
            dp[i][1] = dp[i-1][0];
        }

        int n = Integer.parseInt(br.readLine());
        System.out.println(dp[n][0] + dp[n][1]);
    }
}

 

- 자료형 long !!!!

 

- 마지막에 0이 올 경우, 1이 올 경우로 점화식을 세우고 합을 출력

- 다른 방법으로는 dp[n] = dp[n-1] + dp[n-2]도 가능하다.

- 0이 올경우 앞에는 dp[n-1], 1이 올경우는 앞자리가 0으로 정해져있으니 dp[n-2]