We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent c5d9bef commit 22b763aCopy full SHA for 22b763a
climbing-stairs/1lsang.ts
@@ -0,0 +1,19 @@
1
+// n번째 칸 까지 오르기 위해서는 n-1번째 칸에서 1칸을 오르거나 n-2번째 칸에서 2칸을 오르면 됨.
2
+
3
+/*
4
+최초에 생각한 방법은 재귀 구현 But 재귀 구현시에는 O(2^n)으로 시간복잡도가 너무 커서 Time Limit에 걸림.
5
6
+function climbStairs(n: number): number {
7
+ if (n === 1) return 1; // 1칸을 오르는 방법은 1개
8
+ if (n === 2) return 2; // 2칸을 오르는 방법은 1+1/2 2개
9
+ return climbStairs(n-1) + climbStairs(n-2);
10
+};
11
+*/
12
13
14
+ const arr: number[] = [1, 2];
15
+ for (let i = 2; i < n; i++) {
16
+ arr.push(arr[i-1] + arr[i-2]);
17
+ }
18
+ return arr[n-1];
19
0 commit comments