문제 설명 및 제한사항
아이디어 및 해결 방법
코드
import sys; sys.setrecursionlimit(1000000)
cache = {1: 0, 2: 3}
def solve(n):
if n % 2 == 1:
return 0
if n in cache:
return cache[n]
v = 2
for x in range(2, n, 2):
if x == 2:
v += 3 * solve(n-x)
else:
v += 2 * solve(n-x)
cache[n] = v % 1000000007
return cache[n]
def solution(n):
return solve(n)
Python
복사
출처
프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges