Skip to content

Commit d62602e

Browse files
committed
add solution : 70. Climbing Stairs
1 parent 171f3b2 commit d62602e

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

โ€Žclimbing-stairs/mmyeon.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/**
2+
*
3+
* ์ ‘๊ทผ ๋ฐฉ๋ฒ• : dp ์‚ฌ์šฉ
4+
* - 3๋ฒˆ์งธ ์Šคํ…๋ถ€ํ„ฐ ์ด์ „ ๊ฐ’ 2๊ฐœ์˜ ํ•ฉ์œผ๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.
5+
* - ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด์„œ, ์ €์žฅํ•ด๋†“์€ ์ด์ „๊ฐ’์˜ ํ•ฉ์œผ๋กœ ํ˜„์žฌ๊ฐ’ ๊ตฌํ•˜๊ธฐ
6+
* - ๋‹ค์Œ๊ฐ’ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ, ์ด์ „๊ฐ’์„ ์ด์ „์ด์ „๊ฐ’์œผ๋กœ, ํ˜„์žฌ๊ฐ’์„ ์ด์ „๊ฐ’์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ด์ฃผ๊ธฐ
7+
* - ํ˜„์žฌ๊ฐ’ ๋ฆฌํ„ดํ•˜๊ธฐ
8+
*
9+
* ์‹œ๊ฐ„๋ณต์žก๋„ :
10+
* - 0๋ถ€ํ„ฐ ์ฃผ์–ด์ง„ n๋ฒˆ์งธ์Šคํ…๊นŒ์ง€ ์ˆœํšŒํ•ด์•ผ ํ•˜๋ฏ€๋กœ O(n)
11+
*
12+
* ๊ณต๊ฐ„๋ณต์žก๋„ :
13+
* - ์ด์ „๊ฐ’ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ณ€์ˆ˜ 2๊ฐœ๊ฐ€ ์“ฐ์ด๋ฏ€๋กœ O(1)
14+
*
15+
*/
16+
17+
function climbStairs(n: number): number {
18+
if (n <= 2) return n;
19+
20+
let prevPrevSteps = 1;
21+
let prevSteps = 2;
22+
23+
for (let i = 3; i <= n; i++) {
24+
const currentSteps = prevPrevSteps + prevSteps;
25+
prevPrevSteps = prevSteps;
26+
prevSteps = currentSteps;
27+
}
28+
29+
return prevSteps;
30+
}

0 commit comments

Comments
ย (0)