21331 [Swift][DP] 백준 2133번 (타일 채우기) 요구능력 : DP에대한 이해 코드설명 : 그림을 보면 n = 2일 때는 3가지 n = 3일 때는 0가지, n = 4일 때는 11가지가 나온다. n이 홀수일때는 0가지라는걸 직접 그리는걸 시도해보면 알것이다. n = 4일 때를 보면 빨간색으로 색칠한 부분 오른쪽을보자. n = 2일 때의 모양들을 가지고 있다. n = 2일 때의 모양이 3번 연속나오니까 dp[i] = dp[i - 2] * 3이라는 식은 쉽게 나온다. 하지만, 여기서 끝이아니고 맨 오른쪽에 기괴한 모양이 있다. 이 문제에서 핵심은 저 모양을 처리해주는 것이다. 기괴한 모양은 그려보면 알겠지만, n = 4일 때부터 2개씩 계속나온다. 그럼 +2를 해주면 되지않는가 싶지만 아쉽게도 저 모양마저 계속 옆에 모양이 달려서 나올 것이다. 그럼 n = .. 2021. 11. 11. 이전 1 다음