🗂️ 문제
링크: https://www.acmicpc.net/problem/11726
💡 접근법
n=1
일 때 직사각형을 채우는 방법은 1가지다.
n=2
일 때 직사각형을 채우는 방법은 2가지다.
n=3
일 때 직사각형을 채우는 방법은 3가지다.
n=4
일 때 직사각형을 채우는 방법은 5가지다.
n=5
일 때 직사각형을 채우는 방법은 8가지다.
이를 점화식으로 나타내면 dp[i] = dp[i-1] + dp[i-2] (N>2)
이다.
😎 내 코드
import sys
n = int(sys.stdin.readline())
dp = [0] * 1001
dp[1] = 1
dp[2] = 2
for i in range(3, n+1):
dp[i] = dp[i-1] + dp[i-2]
print(dp[n]%10007)
✅ 정답 확인
'Algorithm > Baekjoon' 카테고리의 다른 글
[BFS] 백준 #18352 특정 거리의 도시 찾기 - Python (0) | 2024.05.11 |
---|---|
[이분탐색] 백준 #10815 숫자 카드 - Python (0) | 2024.05.07 |
[이분탐색] 백준 #1654 랜선 자르기 - Python (1) | 2024.05.03 |
[이분탐색] 백준 #2805 나무 자르기 - Python (0) | 2024.05.03 |
[DP] 백준 #9095 1, 2, 3 더하기 - Python (0) | 2024.04.09 |