📝문제 설명

 

- 경우의 수를 보니 DP 문제인것 같아서 경우의 수를 구해봤다

경우의 수 가지
1칸 1 1가지
2칸 1+1
2
2가지
3칸 1+1+1
2+1
1+2
3가지
4칸 1+1+1+1
2+1+1
1+2+1
1+1+2
2+2
5가지
5칸 1+1+1+1+1
2+1+1+1
1+2+1+1
1+1+2+1
1+1+1+2
1+2+2
2+1+2
2+2+1
8가지

 

뭔가 규칙이 보이는 것 같다.

DP[N] = DP[N-1] + DP[N-2]의 공식이 보인다

바로 ㄱㄱ


📢입출력 예시

 


✏️문제 풀이

class Solution {
    public long solution(int n) {
        long[] dp = new long[2001];
        
        dp[1] = 1;
        dp[2] = 2;
        
        for(int i=3; i<2001; i++){
            dp[i] = (dp[i-1] + dp[i-2]) % 1234567;
        }

        return dp[n];
    }
}

 

'📖Algorithm > DP' 카테고리의 다른 글

JAVA [Algorithm] - 백준 1010 다리 놓기  (0) 2024.12.29
자바 [Algorithm] DP - 백준 11058 크리보드  (0) 2024.05.22