File tree Expand file tree Collapse file tree 1 file changed +68
-0
lines changed Expand file tree Collapse file tree 1 file changed +68
-0
lines changed Original file line number Diff line number Diff line change
1
+ # takes n steps to reach the top
2
+ # 1 or 2 steps at a time
3
+
4
+ '''
5
+ n = 1
6
+ answer = 1
7
+
8
+ n = 2
9
+ answer = 2
10
+ 1 step + 1 step
11
+ 2 step
12
+
13
+ n = 3
14
+ answer = 3
15
+ 1 step + 1 step + 1 step
16
+ 1 step + 2 step
17
+ 2 step + 1 step
18
+
19
+ n=4
20
+ answer = 5
21
+ 1 step + 1 step + 1 step + 1 step
22
+ 1 step + 1 step + 2 step
23
+ 1 step + 2 step + 1 step
24
+ 2 step + 1 step + 1 step
25
+ 2 step + 2 step
26
+
27
+ n=5
28
+ answer = 8
29
+ 1 + 1 + 1 + 1 + 1
30
+ 1 + 1 + 1 + 2
31
+ 1 + 1 + 2 + 1
32
+ 1 + 2 + 1 + 1
33
+ 1 + 2 + 2
34
+ 2 + 1 + 1 + 1
35
+ 2 + 1 + 2
36
+ 2 + 2 + 1
37
+
38
+ 1 2 3 5 8 ? ?
39
+ '''
40
+
41
+ # 시간 복잡도 O(n)
42
+ # 공간 복잡도 O(n)
43
+ def climbStairs (self , n : int ) -> int :
44
+ dp = [0 ] * (n + 1 )
45
+ if n == 1 :
46
+ return 1
47
+ elif n == 2 :
48
+ return 2
49
+ dp [1 ] = 1
50
+ dp [2 ] = 2
51
+ for i in range (3 , n + 1 ):
52
+ dp [i ] = dp [i - 1 ] + dp [i - 2 ]
53
+ return dp [n ]
54
+
55
+ '''def climbStairs(self, n: int) -> int:
56
+ if n == 1:
57
+ return 1
58
+ prev1, prev2 = 1, 2
59
+ for i in range(3, n + 1):
60
+ current = prev1 + prev2
61
+ prev1 = prev2
62
+ prev2 = current
63
+ return prev2
64
+ 시간 복잡도 : O(n) -> 루프가 있기에
65
+ 공간 복잡도 : O(1) -> 추가 배열 없이 상수 공간만 사용
66
+
67
+ '''
68
+
You can’t perform that action at this time.
0 commit comments