관리 메뉴

솜씨좋은장씨

[BaekJoon] 2133번 : 타일 채우기 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 2133번 : 타일 채우기 (Python)

솜씨좋은장씨 2020. 4. 1. 23:49
728x90
반응형

1일 1문제 55일차!

오늘의 문제는 백준의 타일 채우기 문제입니다.

 

2133번: 타일 채우기

문제 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. 입력 첫째 줄에 N(1 ≤ N ≤ 30)이 주어진다. 출력 첫째 줄에 경우의 수를 출력한다. 예제 입력 1 복사 2 예제 출력 1 복사 3 힌트 아래 그림은 3×12 벽을 타일로 채운 예시이다....

www.acmicpc.net

Solution

inputNum = int(input())
nc = [0] * (inputNum+1)

for i in range(1, inputNum+1):
    if i % 2 == 1 :
        nc[i] = 0
    elif i == 2 :
        nc[i] = 3
    else :
        temp = 0
        for j in range(2, i-1):
            if j == i-2 :
                temp += nc[j] * 3
            elif j % 2 == 0 :
                temp += nc[j] * 2
        nc[i] = temp + 2

print(nc[inputNum])

 

 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

 

Comments