문제
2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.
아래 그림은 2×17 직사각형을 채운 한가지 예이다.
입력
첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)
출력
첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다.
예제 입력 1
2
예제 출력 1
3
예제 입력 2
8
예제 출력 2
171
예제 입력 3
12
예제 출력 3
2731
나의 답
n = int(input())
array = []
array.append(1) # 첫째 항을 배열에 저장
array.append(3) # 두번째 항을 배열에 저장
if n == 1:
print(1 % 10007) # 1일경우
elif n == 2:
print(3 % 10007) # 2일경우
else:
for i in range(n-2): # 3 이상일 경우
array.append(2*array[i]+array[i+1])
print(array[-1] % 10007)
'Python > 백준' 카테고리의 다른 글
백준 - 1676 (0) | 2022.07.15 |
---|---|
2309 - 일곱난쟁이 (0) | 2022.07.14 |
11726 - 2 x n 타일링 (0) | 2022.07.08 |
백준 1924 - 2007년 (0) | 2022.07.07 |
백준 2851 (0) | 2022.07.04 |