본문 바로가기
Python/백준

11727 - 2xn 타일링 2

by sophia02 2022. 7. 9.

문제

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