프로그래머스 Lv.2 : 피보나치 수

zeroequaltwo·2022년 11월 30일
0

코딩테스트

목록 보기
56/69

문제

프로그래머스 문제

내 풀이

  • 그냥 피보나치 배열 구해서 구했다가 에러 나고 난리가 나서 봤더니 수열이 뒤로 갈수록 JS에서 감당하지 못하는 큰 숫자가 나와서 그렇다고 했다. 질문하기에 사람들이 써놓은 거 보고 풀었다.
  • (A+B)%C = ((A%C)+(B%C))%C -> 이 속성을 이용해서 작은 수만 연산할 수 있도록 하는 것이 포인트였다.
function solution(n) {
    if(n === 2) return 1;
    let fibo = [1,1];
    let i = 3;    
    while(i <= n){
        let zero =  fibo[0];
        fibo[0] = fibo[1] % 1234567;
        fibo[1] = (zero + fibo[1]) % 1234567;

        if(i === n) return fibo[1] % 1234567 ;
        i++;
    }
}
profile
나로 인해 0=2가 성립한다.

0개의 댓글