쥐수의 공부노트
백준 11726번 2 x n 타일링 본문
728x90

정답 :
let n = Int(readLine()!)!
var array = Array(repeating: 0, count: 1001)
array[1] = 1
array[2] = 2
if n == 1 {
print(array[1])
} else if n == 2{
print(array[2])
} else {
for i in 3...n {
array[i] = (array[i-1] + array[i-2]) % 10007
}
print(array[n])
}
더보기
TMI : DP 문제들은 문제를 푸는 것이 어려운게 아니라, 점화식을 세우기 위한 단계가 가장 어려운 것 같다.
이번에는 초기값과 점화식을 보지 않고, 내가 한번 생각을 해 보았다.
세울 때, 암산으로 세우다 보니 조금 답답한 감이 있지만, 그래도 내가 처음으로 점화식도 세워보고 패턴을 알았다는 것에 감사하자!
728x90
'바킹독 알고리즘 > 다이나믹 프로그래밍' 카테고리의 다른 글
백준 12852번 1로 만들기 2 (0) | 2023.06.03 |
---|---|
백준 11659번 구간 합 구하기 4 (0) | 2023.06.03 |
백준 1149번 RGB거리 (0) | 2023.06.03 |
백준 2579번 계단 오르기 (0) | 2023.06.03 |
백준 9095번 1,2,3 더하기 (0) | 2023.06.01 |