소스코드
n = int(input())
dp = [1]*10
for i in range(1,n) :
for j in range(1,10) :
dp[j] += dp[j-1]
print(sum(dp)%10007)
알고리즘
알고리즘을 설계하다 보니 너무 막막해서 한번씩 써보았다.
그랬더니 원하는 숫자를 구하기 위해서는 그 전 숫자와 그 전의 위 숫자를 더하면 된다는 규칙을 발견했다.
dp라는 유형이라고 알고 있어서 이런 식으로 접근할 수 있었지만 아니라면.. 어려웠을 것 같다.
'Coding test' 카테고리의 다른 글
[백준/15651/파이썬] N과 M (3) (0) | 2023.02.19 |
---|---|
[백준/15650/파이썬] N과 M (2) (0) | 2023.02.18 |
[백준/17425/파이썬] 약수의 합 (0) | 2023.02.15 |
[백준/17427/파이썬] 약수의 합2 (0) | 2023.02.14 |
[백준/4375/파이썬] 1 (0) | 2023.02.13 |