[프로그래머스/Java] Lv.2 피보나치 수

이은정·2024년 9월 1일

프로그래머스/Java

목록 보기
23/74

문제

로직

F(n-2)의 값을 first라는 변수로 지정하고, F(n-1)의 값을 second라는 변수로 지정한다.
먼저 first에 F(0) 값을 넣고 second에 F(1) 값을 넣는다.
그 다음에는 F(2)부터 반복하며 아래를 실행한다.
1. answer에는 first와 second를 더한 값인 F(n)의 값을 넣는다.
2. 다음 반복문을 위하여 first에는 F(n-1)인 second의 값을 넣어준다.
3. 다음 반복문을 위하여 second에는 F(n)인 answer의 값을 넣어준다.

이 때, 문제에서 n번째 피보나치의 수를 1234566로 나눈 나머지를 리턴하라고 하였고, 이는 n번째 피보나치의 수가 integer의 범위를 벗어날 수 있기 때문이다.
반복문을 도는 중에 integer의 범위를 벗어나지 않도록 매번 더한 후에 1234567로 나누어준다.

코드

class Solution {
    public int solution(int n) {
        int answer = 0;
        int first = 0;
        int second = 1;
        for (int i = 2; i < n+1; i ++) {
            answer = (first + second) % 1234567;
            first = second;
            second = answer;
        }
        
        return answer;
    }
    
}

결과

profile
돈 많은 백수가 꿈인 백엔드 개발자 지망생

0개의 댓글