File tree Expand file tree Collapse file tree 1 file changed +45
-0
lines changed
Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * 1 or 2 스텝 가능
3+ * @param n - 꼭대기
4+ * @returns - 꼭대기 까지 도달할 수 있는 방법 수
5+ * @description
6+ * - 결국 패턴은 피보나치
7+ * - 시간 복잡도 O(n)
8+ * - 공간 복잡도 O(1)
9+ */
10+
11+ // function climbStairs(n: number): number {
12+ // if (n <= 2) {
13+ // return n;
14+ // }
15+
16+ // const dp = Array.from({ length: n + 1 }, () => 0);
17+ // dp[1] = 1;
18+ // dp[2] = 2;
19+
20+ // for (let i = 3; i <= n; i++) {
21+ // dp[i] = dp[i - 1] + dp[i - 2];
22+ // }
23+ // return dp[n];
24+ // }
25+
26+ function climbStairs ( n : number ) : number {
27+ if ( n <= 2 ) {
28+ return n ;
29+ }
30+
31+ let prevTwo = 1 ;
32+ let prevOne = 2 ;
33+
34+ for ( let i = 2 ; i <= n ; i ++ ) {
35+ const current = prevTwo + prevOne ;
36+ prevTwo = prevOne ;
37+ prevOne = current ;
38+ }
39+
40+ return prevOne ;
41+ }
42+
43+ const n = 3 ;
44+ climbStairs ( n ) ;
45+
You can’t perform that action at this time.
0 commit comments