본문 바로가기
Algorithm(BOJ, Python)/Dynamic Programing

[백준_11057] 오르막 수 python

by kurooru 2022. 7. 6.

끝자리 수를 기준으로,

2차원 배열을 통해 해결하면 쉽게 해결된다.

# dp설계
dp = [
    [1, 0, 0, 0, 0, 0, 0, 0, 0, 0] for _ in range(1001)
]

# 초기설정
dp[1] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

# dp 채워넣기
for i in range(2, 1001):
    for j in range(1, 10):
        dp[i][j] = dp[i][j-1] + dp[i-1][j]

# n 입력
n = int(input())

# 출력
print(sum(dp[n]) % 10007)