[프로그래머스] '피보나치 수' 문제 자바스크립트 알고리즘

김대운·2022년 9월 13일
0
post-thumbnail

[프로그래머스] '피보나치 수' 문제 자바스크립트 알고리즘


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

Q. 피보나치


피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다.

예를들어

  • F(2) = F(0) + F(1) = 0 + 1 = 1
  • F(3) = F(1) + F(2) = 1 + 1 = 2
  • F(4) = F(2) + F(3) = 1 + 2 = 3
  • F(5) = F(3) + F(4) = 2 + 3 = 5
    와 같이 이어집니다.

2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요.

제한사항


  • n은 2 이상 100,000 이하인 자연수입니다.

입출력 예


nreturn
32
55
  • 코드
function solution(n) {
  var answer = 0;
  const list = [0, 1];

  while (true) {
    const num = list[list.length - 1] + list[list.length - 2];
    list.push(num % 1234567); // 나머지 수로 push 하지 않으면 자리수 초과로 Infinity

    if (list.length === n + 1) break; // 0부터 시작이므로 n+1일때 종료
  }

  return list[list.length - 1];
}

0개의 댓글