[LeetCode/Python] 70. Climbing Stairs
2025. 4. 7. 16:45
99클럽 코테 스터디 | 비기너 | 6일차
https://leetcode.com/problems/climbing-stairs/description/
접근 방법 1
Queue를 사용해서 문제 해결 시도 -> Time Limit Exceeded Error
from collections import deque
class Solution:
def climbStairs(self, n: int) -> int:
queue = deque([0])
ways = 0
while queue:
current_step = queue.popleft()
if current_step == n:
ways += 1
elif current_step < n:
queue.append(current_step + 1)
queue.append(current_step + 2)
return ways
접근 방법 2
동적 프로그래밍 (DP) 개념 활용
from collections import deque
class Solution:
def climbStairs(self, n: int) -> int:
if n <= 2:
return n
dp = [0] * (n + 1)
dp[1] = 1
dp[2] = 2
for i in range(3, n+1):
dp[i] = dp[i-1] + dp[i-2]
return dp[n]
'코딩테스트 > LeetCode' 카테고리의 다른 글
[LeetCode/Python] 706. Design HashMap (0) | 2025.04.10 |
---|---|
[LeetCode/Python] 2283. Check if Number Has Equal Digit Count and Digit Value (0) | 2025.04.09 |
[LeetCode/Python] 225. Implement Stack using Queues (0) | 2025.04.04 |
[LeetCode/Python] 232. Implement Queue using Stacks (0) | 2025.04.03 |
[LeetCode/Python] 204. Count Primes (0) | 2025.03.25 |