자바/프로그래머스

[Programmers/JAVA] 멀리 뛰기

2가 2022. 12. 30. 00:34

 

내 코드

 

class Solution {
    public long solution(int n) {
        long answer = 0;
        
        int n_1=1, n_2=0;
        int sum=0;
        for(int i=0; i<n; i++) {
            sum=(n_1+n_2)%1234567;
            n_2=n_1;
            n_1=sum;
        }

        answer=sum%1234567;
        
        return answer;
    }
}

 

느낀점

 

난 팩토리얼 이용하는 건줄알고 땅굴팠네...

피보나치 이용하는거였구나....ㅜㅜ

설명) 예를 들어 5번째 칸으로 이동할 경우에, 3번째칸에서 2칸씩 뛰는 경우의 수와 4번째칸에서 1칸씩 뛰는 경우의 수를 더하면되니 피보나치 이용하면 된다.