코드

n = int(input())

d = [0] * (n+1)

if n == 1:
    d[n] = 1
elif n == 2:
    d[n] = 2
else:
    d[1] = 1
    d[2] = 2

for i in range(3, n+1):
    d[i] = d[i-1] + d[i-2]
    
print(d[n] % 10007)

문제 해설

동적 프로그래밍 참고

간단한 DP문제이다. n-1, n-2 일 때의 경우의 수 합이 n일 때 경우의 수가 된다.

댓글남기기