eaz_coding

[Programmers] 본문

eaz_algorithm

[Programmers]

eaz_silver 2024. 11. 11. 15:39

문제

n이 주어질 때, 세로가 3, 가로가 n인 타일로 만들 수 있는 경우의 수를 1000000007로 나눈 나머지를 구해라

 

원본

https://school.programmers.co.kr/learn/courses/30/lessons/12902

 

풀이

def solution(n):
    if n % 2 != 0: return 0
    
    idx = n // 2
    lst = [0, 3, 11]
    
    if idx < 3:
        return lst[idx]
    
    for i in range(3, idx+1):
        lst.append((3*lst[i-1] + 2*sum(lst[1:i-1]) + 2) % 1000000007)
    
    return lst[idx]

'eaz_algorithm' 카테고리의 다른 글

[Baekjoon] 12865 평범한 배낭  (0) 2024.11.13
[Baekjoon] 9251 LCS  (0) 2024.11.12
[Baekjoon] 1920 수 찾기  (0) 2024.11.10
[Baekjoon] 2467 용액  (0) 2024.11.09
[Baekjoon] 2193 이친수  (0) 2024.11.08