BOJ 2193번 이친수

|
package BOJ.DP;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

/**
 * BOJ 2193
 * https://www.acmicpc.net/problem/2193
*/
public class BOJ_2193 {

    private static long[][] arr = new long[90+1][2];
    public static void main(String[] args) throws IOException {
        // D(n L) : n 자리 , 마지막 자리 L인 이친수
        // D(n 0) : D(n-1 0) + D(n-1 1)
        // D(n 1) : D(n-1 0)
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        solve(n);
        System.out.println(Arrays.stream(arr[n]).sum());
    }

    private static void solve(int n) {
        arr[1][0] = 0;
        arr[1][1] = 1;

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

}