Skip to content

Commit 2a9c9a7

Browse files
committed
70. Climbing Stairs
1 parent 185bb4d commit 2a9c9a7

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/**
2+
* Time Complexity: O(N)
3+
* Space Complexity: O(N)
4+
*
5+
* ์ ‘๊ทผ: 1๋ฒˆ์งธ ๊ณ„๋‹จ์„ ์˜ค๋ฅด๋Š” ๋ฐฉ๋ฒ•์€ 1๊ฐ€์ง€, 2๋ฒˆ์งธ ๊ณ„๋‹จ์„ ์˜ค๋ฅด๋Š” ๋ฐฉ๋ฒ•์€ 2๊ฐ€์ง€ (๊ณ„๋‹จ์€ ํ•œ ๋ฒˆ์— 1์นธ ๋˜๋Š” 2์นธ์”ฉ๋งŒ ์˜ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค.)
6+
* n ๋ฒˆ์งธ ๊ณ„๋‹จ์— ์˜ค๋ฅด๋Š” ๋ฐฉ๋ฒ•์€ 'ํ•œ ์นธ ์ „ ๊ณ„๋‹จ(n-1)์—์„œ ์˜ค๋ฅด๋Š” 1์นธ ์˜ฌ๋ผ์˜ค๋Š” ๋ฐฉ๋ฒ•' + '๋‘ ์นธ ์ „ ๊ณ„๋‹จ(n-2)์—์„œ 2์นธ ์˜ฌ๋ผ์˜ค๋Š” ๋ฐฉ๋ฒ•'
7+
*/
8+
9+
function climbStairs(n: number): number {
10+
let stairs = [1, 2];
11+
12+
for (let i = 2; i < n; i++) {
13+
stairs[i] = stairs[i - 1] + stairs[i - 2];
14+
}
15+
16+
return stairs[n - 1];
17+
}
18+
19+
function climbStairs(n: number): number {
20+
let dp = new Array(n + 1).fill(0);
21+
dp[1] = 1;
22+
dp[2] = 2;
23+
24+
for (let i = 3; i < n + 1; i++) {
25+
dp[i] = dp[i - 1] + dp[i - 2];
26+
}
27+
28+
return dp[n];
29+
}
30+
31+
console.log(climbStairs(5));

0 commit comments

Comments
ย (0)