알고리즘
- 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);
};