File tree Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change 1+ // 1๋ฒํ์ด (hashMap)
2+ function climbStairs1 ( n : number ) : number {
3+ const dp : Record < number , number > = {
4+ 1 : 1 ,
5+ 2 : 2 ,
6+ } ;
7+
8+ for ( let i = 3 ; i <= n ; i ++ ) {
9+ dp [ i ] = dp [ i - 1 ] + dp [ i - 2 ] ;
10+ }
11+
12+ return dp [ n ] ;
13+ } ;
14+
15+ // 2๋ฒํ์ด (๋ฐฐ์ด)
16+ function climbStairs2 ( n : number ) : number {
17+ const dp = [ 0 , 1 , 2 ] ; // dp[1] = 1, dp[2] = 2
18+
19+ for ( let i = 3 ; i <= n ; i ++ ) {
20+ dp [ i ] = dp [ i - 1 ] + dp [ i - 2 ] ;
21+ }
22+
23+ return dp [ n ] ;
24+ } ;
25+
26+ // 3๋ฒํ์ด
27+ // ๋ถํ์ํ ๋ฐฐ์ด ์ ์ฒด ์ ์ฅ์ ์ ๊ฑฐํ๊ณ , ํ์ํ ๊ฐ๋ง 2๊ฐ๋ง ์ ์ง
28+ function climbStairs ( n : number ) : number {
29+ if ( n <= 2 ) return n ;
30+
31+ let prev1 = 1 ; // dp[i - 2]
32+ let prev2 = 2 ; // dp[i - 1]
33+
34+ for ( let i = 3 ; i <= n ; i ++ ) {
35+ const current = prev1 + prev2 ;
36+ prev1 = prev2 ;
37+ prev2 = current ;
38+ }
39+
40+ return prev2 ;
41+ } ;
42+
You canโt perform that action at this time.
0 commit comments