이 문제도 점화식을 구하면 쉽게 풀 수 있는 문제다
그림을 유심히 살펴보거나
혹은 결과들을 유심히 살펴보면 숫자들간에 규칙이 있는것을 발견할 수 있다.
(사실 다른 더 논리적이고 멋있는 해설이 있기야 하겠지만 나는 이렇게 풀었다...;;)
- 점화식
$$ a_n = a_{n-5} + a_{n-1} $$
- 코드
# 9461번 - 파도반 수열
import sys
input = sys.stdin.readline
t = int(input())
for _ in range(t):
dp = [0] * 101
dp[1] = 1
dp[2] = 1
dp[3] = 1
dp[4] = 2
dp[5] = 2
n = int(input())
for i in range(6,n+1):
dp[i] = dp[i-5] + dp[i-1]
print(dp[n])
728x90
'알고리즘 문제풀이 > Dynamic programming' 카테고리의 다른 글
백준 1932 파이썬(DP) (0) | 2021.10.12 |
---|---|
백준 1149 파이썬(DP) (0) | 2021.10.11 |
백준 1904 파이썬(DP) (0) | 2021.10.10 |
백준 9184 파이썬(DP - 메모이제이션) (0) | 2021.10.09 |
백준 1003 파이썬(DP - 피보나치함수) (0) | 2021.10.09 |