[프로그래머스] 피보나치 수

fsm12·2023년 8월 1일
0

프로그래머스

목록 보기
52/57
post-thumbnail
post-custom-banner

문제링크

문제 이해

[ 입력형태 / 조건 ]

n
자연수 | 3 | 2 이상 100,000 이하인 자연수

[ 문제 ]

2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 return

[ 풀이 ]

재귀를 이용해 합을 구하고, n번째면 return



코드

> [성공] 1차 시도 : 구현(재귀)

  • 생각한 풀이 그대로 구현
class Solution {
    public int solution(int n) {
        return fibo(1,n,0,1)%1234567;
    }
    
    public int fibo(int depth, int desti, int prev, int next){
        if(desti == depth)
            return next;
        return fibo(depth+1, desti, next, (prev+next)%1234567);
    }
}



Tip : 나머지 연산을 하여 답을 리턴해야하는 문제는 값의 범위를 넘어가는 순간이 없는지와 종료조건이 정확한지 확인해야 한다.

post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 8월 1일

잘 읽었습니다. 좋은 정보 감사드립니다.

답글 달기