https://programmers.co.kr/learn/courses/30/lessons/12914
level3치곤 쉬운 문제이다.
재귀를 통하여 구하려했는데 역시 시간초과가 나와서 dp를 추가하였다.
import sys
sys.setrecursionlimit(100000)
dp = [0 for i in range(2000)]
def solution(n):
answer = 0
return dfs(n)%1234567
def dfs(number):
global dp
if number <= 1:
return 1
else:
if dp[number-1] == 0:
dp[number-1] = dfs(number-1)
if dp[number-2] == 0:
dp[number-2] = dfs(number-2)
return dp[number-1] + dp[number-2]