사이트 #문제: 문제유형 / 난이도

문제 링크 : https://www.acmicpc.net/problem/17271

🔍 Inspection

문제 접근(문제 분석 → 풀이 아이디어)

https://velog.io/@vkdldjvkdnj/boj17271

https://kurooru.tistory.com/41

🚩 FLOW

코드를 풀이할 때 적었던 플로우가 있나요?

🚩제출한 코드

import sys; input = sys.stdin.readline
MOD = 1000000007

N, M = map(int, input().split())

# i초 때 가능한 경우의 수는 두 가지가 있다.
# i-1초까지 스킬 쓴 상태에서 A 스킬 사용
# i >= M일 때, i-M초까지 스킬 쓴 상태에서 B 스킬 사용
# dp(i) = dp(i-1) + dp(i-M)

dp = [1] * (N + 1)
for i in range(M, N + 1): # M초 미만일 땐 dp[i] = dp[i-1]이기 때문에 무조건 1이다.
    dp[i] = (dp[i - 1] + dp[i - M]) % MOD

print(dp[N]

🚩결과