https://programmers.co.kr/learn/courses/30/lessons/12914
"""
"""
def solution(n):
dp = [0, 1, 2]
for i in range(3, n+1):
dp.append(dp[i-1] + dp[i-2])
return dp[n] % 1234567
from collections import deque
def solution(n):
can = [0] * (n+1)
q = deque([0]) # 현재 위치
while q:
loc = q.popleft()
for next_loc in (loc+1, loc+2):
if next_loc <= n:
can[next_loc] += 1
q.append(next_loc)
return can[n] % 1234567
백준 문제에 숨바꼭질과 비슷한 건줄 알고 삽질 했다가 그냥 dp문제인걸 깨닫고 쉽게 푼 문제