본문 바로가기
Problem Solving/BOJ

[BOJ][Python]11726번 풀이

by NoiB 2022. 6. 11.
반응형

https://www.acmicpc.net/problem/11726

 

11726번: 2×n 타일링

2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.

www.acmicpc.net

t = [0 for _ in range(1001)]
t[1],t[2],t[3] = 1,2,3
for i in range(4,1001):
    t[i] = t[i-1]+t[i-2]
print(t[int(input())]%10007)

지난 번에 이거랑 똑같은 문제를 풀었던 것 같은 기분이 드는데요. 하도 dp 문제를 최근에 많이 풀어서 맞나 안맞나도 모르겠네요. dp문제는 몇 가지 경우를 써보다 보면 규칙이 보이기도 합니다. 난이도가 높은 문제 중에는 이게 맞나 싶은 직관적이지 않은 문제도 많지만 실버 난이도에서는 대부분 몇 개 손으로 써보면 대충 보입니다.

 

해당 문제도 피보나치 수열과 완전히 동일한 문제입니다. 저는 처음엔 암산으로 한다고 하다가 계산을 틀리는 바람에 규칙을 못찾아서 반복문이 4부터 시작되지만 3부터 시작해도 아무 상관없습니다.

반응형

'Problem Solving > BOJ' 카테고리의 다른 글

[BOJ][Python]1927번 풀이  (0) 2022.06.12
[BOJ][Python]1475번 풀이  (0) 2022.06.11
[BOJ][Python]9461번 풀이  (0) 2022.06.10
[BOJ][Python]9375번 풀이  (0) 2022.06.09