✅ 문제 링크
https://www.acmicpc.net/problem/11727
✅ 문제 파악
2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 경우의 수를 구하여라.
✅ 접근 방법
DP를 사용하기 위해 점화식을 세웠다.

접근 방법만 안다면 구현은 쉬운 문제이다 !
DP 문제일 경우 '점화식'을 세우는 걸 중점으로 생각해보자 ~~!!
✅ 코드 구현
n = int(input())
dp =[0 for _ in range(n+1)]
dp[1],dp[2] = 1,3
for i in range(3,n+1):
dp[i] = dp[i-1] + dp[i-2] + dp[i-2]
print(dp[n]%10007)
✅ 배운점
어렵게만 느껴졌던 DP 문제가 이제 아주 조금~~~씩 어떻게 접근해야할 지 그림이 그려지기 시작한다 ..
점화식 ..점화식.. 점화식 .. 점화식 ....❗
'[Algorithm] 알고리즘' 카테고리의 다른 글
| [Algorithm][Java] 해시테이블 (HashMap, HashSet) (0) | 2024.08.06 |
|---|---|
| [프로그래머스] 연속된 부분 수열의 합 (Java) - 투포인터 (0) | 2024.07.31 |
| [프로그래머스] 네트워크 (Python)(Java) - DFS/BFS (2) | 2024.07.19 |
| [Algorithm] 재귀 함수와 리턴(return) (1) | 2024.07.18 |
| [백준][Python] 1926번 그림 - DFS,BFS (6) | 2024.07.16 |