문제
문제 이해
그림을 그려보았습니다. 3일 때는 2x2 타일 수와 2x1의 타일수를 더하면 되었고
4일 때는 2x3 타일과 2x2 타일의 수를 더하면됐습니다.
n-1의 도형에다가 2x1를 하나 추가시킨 개수와
n-2의 도형에다가 1x2를 2개 추가시킨 개수를 더하면 됩니다.
코드
num = int(input())
d = [0] * (num+1)
if num <= 3:
print(num)
else:
d[1] = 1
d[2] = 2
for i in range(3,num+1):
d[i] = d[i-1] + d[i-2]
print(d[num] % 10007)
728x90
'알고리즘 > 백준알고리즘' 카테고리의 다른 글
[백준 알고리즘/Python] 9095 1,2,3더하기 (0) | 2022.01.30 |
---|---|
[백준 알고리즘/Python] 11727 2×n 타일링2 (0) | 2022.01.29 |
[백준 알고리즘/Python] 1463 1로 만들기 (0) | 2022.01.27 |
[백준 알고리즘/Python] 1212 8진수 2진수 (0) | 2022.01.25 |
[백준 알고리즘/Python] 1373 2진수 8진수 (0) | 2022.01.24 |