티스토리 뷰
Fibonacci 함수
const memoFibo = memoizeFibonacci();
memoFibo(7);
memoFibo(10);
function memoizeFibonacci() {
const save = {};
return function fibonacci(number) {
if (number < 1) return 0;
if (number === 1) return 1;
const saved1 = save[number - 1] || fibonacci(number - 1);
const saved2 = save[number - 2] || fibonacci(number - 2);
const result = saved1 + saved2;
save[number] = result;
return result;
}
}
Factorial함수
function memoizeFactorial() {
const save = {};
return function factorial(number) {
if (number === 1) return 1;
const saved = save[number - 1] || memo(number - 1);
const result = number * saved;
save[number] = result;
return result;
};
}
const memoizeFact = memoizeFactorial();
memoizeFact(7);
memoizeFact(9);
'Develop' 카테고리의 다른 글
Mobx state tree(MST) 사용기 - 간단한 카운터 예제 (0) | 2022.06.12 |
---|---|
클로저 (Closure) (0) | 2021.11.26 |
진법 변환기 in JavaScript (0) | 2021.11.07 |
lodash _.debounce, _.throttle (0) | 2021.09.12 |
Javascript 이미지 업로드 방법 (0) | 2021.07.23 |