티스토리 뷰
[Silver 3] 11726 : 2xn 타일링 - Python
https://www.acmicpc.net/problem/11726
11726번: 2×n 타일링
2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.
www.acmicpc.net
설명
2xn인 사각형을 1x2인 블럭과 2x1인 블럭으로 2xn 사각형을 채울 수 있는 총 경우의 수를 구하는 문제이다
2xn인 경우 n = 1 인 경우부터 차례로 그려가며 생각해보면 알기 편하다
n = 1 => 1가지
n = 2 => 2가지
n = 3 => 3가지
n = 4 => 5가지
.
.
즉 n과 관련된 점화식을 찾을 수 있다.
점화식 : dp[N] = dp[N-1] + dp[N-2]
N = int(input())
res = 0
dp = [0 for _ in range(N+1)]
for i in range(N+1):
if i == 0:
dp[i] = 0
elif i == 1:
dp[i] = 1
elif i == 2:
dp[i] = 2
else:
dp[i] = dp[i-1] + dp[i-2]
print(dp[N] % 10007)
'알고리즘' 카테고리의 다른 글
[백준] 1780 : 종이의 개수 - Python(파이썬) (2) | 2021.08.11 |
---|---|
[백준] 13305 : 주유소 - Python(파이썬) (0) | 2021.08.10 |
[백준] 1541 : 잃어버린 괄호 - Python(파이썬) (2) | 2021.08.02 |
[백준] 1946 : 신입 사원 - Python(파이썬) (0) | 2021.07.31 |
[백준] 15903 : 카드 합체 놀이 - Python(파이썬) (0) | 2021.07.31 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 우테코 회고
- 스프링 부트
- 피움
- 백준
- 피움 6주차 회고
- java
- 프로젝트
- 스프링 프레임워크
- 환경 별 로깅 전략 분리
- 알림기능개선기
- ZNS SSD
- 회고
- dm-zoned
- Spring
- jpa
- 파이썬
- 네트워크
- dm-zoned 코드분석
- 팀프로젝트
- CI/CD
- 스프링 Logback
- 알림개선기
- ZNS
- 2차 데모데이
- 8주차 회고
- 5주차 회고
- 스프링MVC
- 런칭 페스티벌
- 우테코
- 3차 데모데이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함