본문 바로가기

프로그래머스

5/25[문제풀이] 프로그래머스 Lv2 피보나치 수

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

 

문제풀이

 

1
2
3
4
5
6
7
8
9
10
function solution(n) {
    var answer = 0;
    
    let setNumber = [0,1];
    for(let x=2; x<=n; x++) {
        setNumber.push((setNumber[x-1]+setNumber[x-2]) % 1234567)
    }
    
    return setNumber[n];
}
cs

 

피보나치 수는 0과 1로 시작하며 다음 피보나치의 수는 바로 앞의 두 피보나치의 수의 합이 된다.

이런 식으로 0, 1, 2, 3, 5, 8,...

그렇기 때문에 0, 1 두 숫자를 우선 배열에 담아 두고 주어질 변수 n까지 반복하여 n의 맨 뒤의 두 번째 숫자(x-2)와 맨 뒷 숫자(x-1)의 더하고 문제에서 요구한대로 1234567을 나눈 값을 구해 push 해주어 setNumber에 n번째 숫자를 리턴해주는 식으로 구성했다.