File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change
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
+ }
You canโt perform that action at this time.
0 commit comments