Lv.2 : 피보나치 수 [JavaScript]

2022. 9. 28. 20:26Algorithm/프로그래머스

반응형

https://school.programmers.co.kr/learn/courses/30/lessons/12945

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


문제 풀이

function solution(n) {
    var arr = [0,1];

    for(var i=2; ; i++){
        arr.push((arr[i-2] + arr[i-1]) % 1234567);
        if(i == n) break;
    }
    return arr[arr.length-1];
}

숫자가 커질 수 있음을 고려해야한다!

처음에 arr[i-2] + arr[i-1]을 그냥 넣어서 오류가 났다

모든 단계에서 % 연산을 사용하여, 모든 연산에서 오버플로우가 일어나지 않게 만들어 주어야 한다.

%1234567 을 마지막 return에서 해주는 것이 아니라 배열에 피보나치 수를 넣을 때마다 계산해주어 해결

반응형