Skip to content

Commit ea6e64b

Browse files
committed
climbing-stairs solution
1 parent 61f6aa2 commit ea6e64b

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

β€Žclimbing-stairs/yuhyeon99.jsβ€Ž

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/**
2+
* @param {number} n
3+
* @return {number}
4+
*/
5+
var climbStairs = function(n) {
6+
// ν”Όλ³΄λ‚˜μΉ˜ μˆ˜μ—΄μ„ ν™œμš©ν•΄μ„œ 정닡을 ν’€μ–΄μ•Όν• κΉŒ?
7+
// ν”Όλ³΄λ‚˜μΉ˜ μˆ˜μ—΄μ΄λž€: F(n) = F(n - 1) + F(n - 2);
8+
// λ°˜ν™˜ 쑰건은 n이 1λ˜λŠ” 0일 λ•Œ ν•΄λ‹Ή 수λ₯Ό λ°˜ν™˜ν•  수 있음
9+
// 이 λ¬Έμ œμ—μ„œλŠ” 2 계단 였λ₯΄λŠ” 상황을 ν¬ν•¨μ‹œμΌœμ•Όν•΄μ„œ n 이 2일 λ•Œ 2λ₯Ό λ°˜ν™˜ν•˜λ„λ‘ μ„€μ •
10+
// 근데 이제 μ‹œκ°„μ΄ˆκ³Όκ°€ λ°œμƒν•΄μ„œ 캐싱 ν•΄μ€˜μ•Όν•¨.
11+
var cache = { '0': 0, '1': 1, '2': 2 };
12+
13+
var fibo = (n) => {
14+
let result = 0;
15+
16+
if (typeof(cache[n]) === 'number') {
17+
result = cache[n];
18+
} else {
19+
result = cache[n] = fibo(n - 1) + fibo(n - 2);
20+
}
21+
22+
return result;
23+
};
24+
25+
return fibo(n);
26+
};

0 commit comments

Comments
Β (0)