알고리즘- toy 2번 문제

1. 재귀함수는 시간복잡도 면에서 효율적이지 못하다.

  • 때문에 O(N) 시간 복잡도를 가진 피보나치 수열을 구현해보았다.
  • 반복문 사용 불가 (대체 왜 ..)
  let fibonacci = function (n) {
  //1,2번째 피보나치 수는 지정해준다.
  const memo = [0, 1];
  //보조함수 선언
  const aux = (n) => {
    // 이미 해결한 적이 있으면, 메모해둔 정답을 리턴한다.
    if (memo[n] !== undefined) return memo[n];
    // 새롭게 풀어야하는 경우, 문제를 풀고 메모해둔다.
    memo[n] = aux(n - 1) + aux(n - 2);
    return memo[n];
  };
  return aux(n);
};

Updated: