[1. 문제 설명]
https://www.acmicpc.net/problem/11726
[2. 풀이 접근]
완전 탐색에서 시작한다.
- 맨 왼쪽을 2x1 타일 1개로 채우고, 나머지 2x(n-1) 타일에 대한 부분 문제를 해결한다.
- 맨 왼쪽을 2x2 타일 2개로 채우고, 나머지 2x(n-2) 타일에 대한 부분 문제를 해결한다.
- 두 경우의 합을 반환한다.
- 기저 사례
=> 길이가 0 인 경우: 모든 타일을 채움 => 1을 반환 => 하나의 경우를 완성하였다.
=> 길이가 음수인 경우: 타일을 채울 수 없음 => 0을 반환
이 문제는 최적화 문제는 아니다.
그러나 전체 타일 길이 N에 대해서
앞의 [0, N-A) 를 어떻게 채우던 간에 [N-A, N) 을 채우는 문제는 한번만 계산하면 된다.
그래서 메모이제이션을
현재 채워야 할 타일의 길이에 대한 부분 문제에 대해서 적용 할 수 있다.
[3. 코드]
'알고리즘 > Baekjoon' 카테고리의 다른 글
부분 합. [2167] (0) | 2022.12.11 |
---|---|
탐욕법. [1026] (0) | 2022.12.10 |
분할 정복. [1074] (0) | 2022.12.06 |
완전 탐색. [2798] (0) | 2022.12.05 |
완전 탐색. [14501] (0) | 2022.12.05 |