문제
https://www.acmicpc.net/problem/15988
15988번: 1, 2, 3 더하기 3
각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다.
www.acmicpc.net
코드
t=int(input())
#dp배열을 n의 방법의 수를 저장하는 것으로 사용
dp=[0]*1000001
dp[1]=1
dp[2]=2
dp[3]=4
# 예를 들어 n이 4인경우, dp[1]에서 3을 추가하는 경우, dp[2]에 2를 추가하는 경우, dp[3]에 1을 추가하는 경우만 존재
for i in range(4,1000001):
dp[i]=(dp[i-1]+dp[i-2]+dp[i-3])%1000000009
for _ in range(t):
n=int(input())
print(dp[n])
'문제풀이 > DP' 카테고리의 다른 글
[파이썬] [DP] 백준 11052 카드 구매하기 (0) | 2023.04.05 |
---|---|
[파이썬] [DP] 백준 1446 지름길 (0) | 2023.02.28 |
[파이썬] [DP] 백준 15989 1, 2, 3 더하기 4 (0) | 2023.02.27 |
[파이썬] [DP] 백준 23083 꿀벌 승연이 (0) | 2023.02.06 |
[파이썬] [DP] 백준 27210 신을 모시는 사당 (0) | 2023.01.14 |