[DP] [백준 / 2193] 실버 3 - 이친수 (java/자바)

SlowAnd·2024년 2월 17일

문제

접근

참고 smartPro for IT:티스토리

1. 조건 파악

2. 규칙 파악

저는 하나 하나 써가며 규칙을 발견하는 식으로 풀었습니다.
N번째에서 N-1, N-2 등 역순으로 규칙을 찾아보겠습니다.


N = 3 일 때,

N3 = N2 + N1


N = 4일 때,

N4 = N3+ N2


An = An-1 + An-2 임을 알 수 있습니다.

성공 코드

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

public class Main{
    public static void main(String[] args) throws IOException {
        BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(r.readLine());
        long[] dp =new long[n+1];

        if(n<3){
            System.out.println(1);
            return;
        }
        dp[1] =1;
        dp[2] =1;

        for (int i = 3; i <n+1; i++) {
            dp[i] = dp[i-1] + dp[i-2];
        }
        System.out.println(dp[n]);


    }
}

0개의 댓글