[Algorithms] 13. Fibonacci Series ๐ฅ
๋ฌธ์
ํด๊ฒฐ๋ฐฉ๋ฒ
- result๋ผ๋ ๋ณ์๋ฅผ ์ ์ธํ๊ณ [0,1] ๋ฐฐ์ด์ ๋ด๋๋ค
- for loop๋ฅผ 2๋ฒ index๋ถํฐ ๋๋ค
- a, b ๋ณ์๋ฅผ ์ ์ธํด์ i-1, i-2๋ฅผ ์ง์ ํด์ค๋ค
- result์ (a+b)๋ฅผ pushํ๋ค
์ ์ถ ์ฝ๋
function fib(n) {
const result = [0,1];
for(let i = 2; i<= n; i++) {
const a = result[i-1];
const b = result[i-2]
result.push(a+b);
}
return result[n]
}
function fib(n) {
if (n <2) {
return n;
}
return fib(n-1) + fib(n-2)
}
function memoize(fn) {
const cache = {};
return function(...args) {
if (cache[args]) {
return cache[args];
}
const result = fn.apply(this, args);
cache[args] = result;
return result;
};
}
function fib(n) {
if (n < 2) {
return n;
}
return fib(n-1) + fub(n-2);
}
fib = memoize(fib);
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ([Algorithms] 13. Fibonacci Series ๐ฅ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@peng0code/Algorithms-13.-Fibonacci-Series์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค