세상을 더 좋게

[백준] 15988 '1, 2, 3 더하기 3' 파이썬(python) 본문

Algorithm/DP

[백준] 15988 '1, 2, 3 더하기 3' 파이썬(python)

나는SOU 2021. 12. 14. 00:00

https://www.acmicpc.net/problem/15988

 

15988번: 1, 2, 3 더하기 3

각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다.

www.acmicpc.net

import sys
input = sys.stdin.readline

dp = [0 for i in range(1000001)]
dp[0] = 1
dp[1] = 1
dp[2] = 2

for i in range(3, 1000001):
    dp[i] = dp[i-1]%1000000009 + dp[i-2]%1000000009 + dp[i-3]%1000000009
    
t = int(input())
for i in range(t):
    n = int(input())
    print(dp[n]%1000000009)

Point

  • 이전의 합 구하기와 똑같은 패턴이다.