[알고리즘] 피보나치 수열의 n번째 항

Tai Song·2022년 7월 7일
0

알고리즘

목록 보기
2/8
post-thumbnail

재귀함수를 이용해 구현해야 합니다.

function fibonacci(n) {
  const memo = [0, 1];
  // 피보나치 수열의 0번째, 1번째 항 인덱스 저장
  const aux = (n) => {
    if (memo[n] !== undefined) return memo[n];
    // n번째 항이 피보나치 수열(memo)에 저장되어 있으면 꺼내서 리턴
    memo[n] = aux(n - 1) + aux(n - 2);
    // 아니면 피보나치 연산(이전 항과 그 이전 항을 더함)을 해서 리턴
    return memo[n];
  }
  return aux(n);
}
profile
Read The Fucking MDN

0개의 댓글