프로그래머스 Lv.2 피보나치 수
1 2 3 4 5 6 7 8 9 10 11 12 13 | function solution(n) { let f_first = 1; let f_second = 1; let answer = 0; for(let i = 3; i <= n; i++) { answer = f_first + f_second; f_first = f_second%1234567; f_second = answer%1234567; } return answer % 1234567; } | cs |
f_first
와f_second
를 각각 F(0)과 F(1)의 초기값인 1로 할당해준다.반복문을
i
가 3부터n
까지 반복한다.
answer
에f_first
와f_second
의 합을 할당한다.
f_first
에는f_second
를 1234567로 나눈 나머지를 할당한다.
f_second
에는answer
를 1234567로 나눈 나머지를 할당한다.반복문 종료 후
answer
를 1234567로 나눈 나머지를 할당한다.1234567로 나눈 나머지를 할당하는 이유는 값이 너무 커지는걸 방지하기 위해서 이다.