문제 https://www.acmicpc.net/problem/2133 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net 풀이 n = int(input()) dp = [0 for _ in range(31)] dp[2] = 3 for i in range(4, n+1): if i%2 == 0: dp[i] = dp[i-2]*3 + sum(dp[:i-2])*2 + 2 else: dp[i] = 0 print(dp[n]) 설명 참고: https://jyeonnyang2.tistory.com/51
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 def solution(n): answer = [1,1] for i in range(2, n+1): # F(n) = (F(n-1) + F(n-2)) % 1234567 answer.append((answer[i - 1] + answer[i - 2]) % 1234567) return answer[-1] # 마지막 결과를 return 설명 사용할 알고리즘이 정확하게 DP 인지는 몰랐으나 뭔가..