문제
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 |