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