[Python/Silver3/11726] 2xn 타일링

2025. 1. 31. 14:07·BAEKJOON

|    문제

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

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

 

|    입력

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

 

|    출력

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

 

 

 


정답 코드

import sys
input = sys.stdin.readline

class Solution:
    def nx2(self):
        n = int(input())
        if n == 1:
            print(1)
            return
        dp = [0] * (n+1)
        dp[1], dp[2] = 1,2
        for i in range(3, n+1):
            dp[i] = (dp[i-1] + dp[i-2]) % 10_007
        print(dp[n])

if __name__ == "__main__":
    s = Solution()
    s.nx2()

 

 

 

|    비고

쉬운 다이나믹 프로그래밍 문제이다. dp 배열 인덱스에 유의하여 인덱스 에러가 나지 않도록 코드를 짜자.

'BAEKJOON' 카테고리의 다른 글

[Python/Silver2/1260] DFS와 BFS  (0) 2025.01.31
[Python/Silver1/1932] 정수 삼각형  (0) 2025.01.31
[Python/Silver3/2579] 계단 오르기  (0) 2025.01.29
[Python/Silver3/9095] 1,2,3 더하기  (0) 2025.01.28
[Python/Silver3/1463] 1로 만들기  (0) 2025.01.28
'BAEKJOON' 카테고리의 다른 글
  • [Python/Silver2/1260] DFS와 BFS
  • [Python/Silver1/1932] 정수 삼각형
  • [Python/Silver3/2579] 계단 오르기
  • [Python/Silver3/9095] 1,2,3 더하기
콘순이
콘순이
개발 보안 관련 스터디 기록장
  • 콘순이
    SECURITY DEVELOPER
    콘순이
  • 글쓰기 관리
  • 전체
    오늘
    어제
    • 분류 전체보기 (69)
      • BAEKJOON (45)
      • ALGORITHM (4)
      • QUALIFICATIONS (0)
      • PYTHON (1)
      • PROGRAMMERS (6)
      • DEVELOP (10)
        • SPRING (4)
        • ERROR (0)
        • CONCEPT (5)
        • AWS (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    알고리즘
    Python
    비트 조작
    문자열
    비트 마스킹
    solid
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
콘순이
[Python/Silver3/11726] 2xn 타일링
상단으로

티스토리툴바