Skip to content

Commit ff9dafd

Browse files
committed
climbStairs solution2
1 parent ab7ebdf commit ff9dafd

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

โ€Žclimbing-stairs/hyejj19.tsโ€Ž

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,24 @@ function climbStairs(n: number, memo = {}): number {
1111

1212
return memo[n];
1313
}
14+
15+
// 2๋ฒˆ์งธ ์‹œ๋„
16+
// 1. ์žฌ๊ท€ ์ ‘๊ทผ์˜ ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ์™€ ์ฝœ์Šคํƒ ๊ณผ๋ถ€ํ•˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Œ.
17+
// 2. ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ์•„๋‹Œ ๋ฐ”๋กœ ์ง์ „ ๋‹จ๊ณ„๊นŒ์ง€์˜ ํ•ฉ์‚ฐ ๊ฐ’๋งŒ ์žˆ์–ด๋„ ๊ฒฐ๊ณผ ๋„์ถœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
18+
19+
function climbStairs(n: number): number {
20+
if (n === 1) return 1;
21+
if (n === 2) return 2;
22+
23+
let prev2 = 1; // n-2๋ฒˆ์งธ
24+
let prev1 = 2; // n-1๋ฒˆ์งธ
25+
let cur = 0;
26+
27+
for (let i = 3; i <= n; i++) {
28+
cur = prev2 + prev1;
29+
prev2 = prev1;
30+
prev1 = cur;
31+
}
32+
33+
return cur;
34+
}

0 commit comments

Comments
ย (0)