Algorithm

백준 / 11726 / 2*n 타일링

c3epmos 2020. 3. 22. 16:08

문제

입력

첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)

 

출력

첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다.

 

입출력 예

해결

동적 프로그래밍을 이용해 해결 할 수 있다.

2*0 -> 1, 2*1 -> 1, 2*2 -> 2, 2*3 -> 3 ...

d[n] = d[n-2] + d[n-1]

 

코드

 

느낀점

비슷한 문제를 유튜브에서 봐서 그런지 로직은 빨리 구현할 수 있었다. 그러나 2*0도 경우의 수가 1이 존재한다는 사실을 간과했으며 10007로 나누는 것을 마지막 요소에만 해서 오류가 발생했다.

 

출처