본문 바로가기
Python/백준

11726 - 2 x n 타일링

by sophia02 2022. 7. 8.

문제

2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.

아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.

입력

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

출력

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

예제 입력 1 

2

예제 출력 1 

2

예제 입력 2 

9

예제 출력 2 

55

 

 

정답

n = int(input())
array = []
array.append(1)  # 첫째 항을 배열에 저장
array.append(2)  # 두번째 항을 배열에 저장
if n == 1:
    print(1 % 10007)  # 1일경우
elif n == 2:
    print(2 % 10007)  # 2일경우
else:
    for i in range(n-2):  # 3 이상일 경우
        array.append(array[i]+array[i+1])  # (n-1)+(n-2)의 값을 배열에 저장해줌
    print(array[-1] % 10007)  # 마지막 배열의 값을 가져오고 나머지 연산 실행, 출력

'Python > 백준' 카테고리의 다른 글

2309 - 일곱난쟁이  (0) 2022.07.14
11727 - 2xn 타일링 2  (0) 2022.07.09
백준 1924 - 2007년  (0) 2022.07.07
백준 2851  (0) 2022.07.04
백준 - 9085 더하기  (0) 2022.07.03