반응형
코드
n = int(input())
dp = [0]*(n+2)
dp[1] = 1
dp[2] = 2
for i in range(3,n+1):
dp[i] = dp[i-2]+dp[i-1]
print(dp[n]%10007)
설명
규칙을 찾으려고 n이 5일 때까지 경우의 수를 구해봤다.
dp[1] = 1
dp[2] = 2
dp[3] = 3
dp[4] = 5
dp[5] = 8
구해놓고 보니 dp[i] = dp[i-2]+dp[i-1] 이라는 규칙이 보였다.
반응형
'알고리즘 > dynamic programming' 카테고리의 다른 글
[백준][Python] 2407번 조합 (0) | 2022.05.13 |
---|---|
[백준][Python] 11727번 2×n 타일링 2 (0) | 2022.05.12 |
[백준][Python] 1463번 1로 만들기 (0) | 2022.05.10 |
[백준][Python] 17626번 Four Squares (0) | 2022.05.09 |
[백준][Python] 9655번 돌 게임 (0) | 2022.05.07 |
댓글