멀리 뛰기

심규원·2024년 8월 16일

https://school.programmers.co.kr/learn/courses/30/lessons/12914?language=java

class Solution {
    public long solution(int n) {
        long answer = 0;
        int[] dp = new int[2001];
        dp[1] = 1;
        dp[2] = 2;

        for(int i=3;i<=n;i++) {
            dp[i] = (dp[i-1] + dp[i-2])%1234567;
        }

        answer = dp[n];
        
        return answer;
    }
}

처음엔 재귀를 통해서 풀었는데 시간초과.
보통 이럴때는 예외처리나 빵꾸난곳이 있는가를 찾아보는데 아무리 찾아도 없어서 이건 DP 겠구나 하고 풀어봄

예시에 따르면 i - 1 + i - 2 공식이 성립한다.

쭈욱 풀어준다.

속도도 굉장히 빠르다.

0개의 댓글