9095
t = int(input())
dp = [1, 2, 4]
for i in range(3, 10):
dp.append(dp[i - 1] + dp[i - 2] + dp[i - 3])
for j in range(t):
n = int(input())
print(dp[n - 1])
1149
n = int(input())
data = [list(map(int, input().split())) for _ in range(n)]
for j in range(1, len(data)):
data[j][0] = data[j][0] + min(data[j - 1][1], data[j - 1][2])
data[j][1] = data[j][1] + min(data[j - 1][0], data[j - 1][2])
data[j][2] = data[j][2] + min(data[j - 1][1], data[j - 1][0])
print(min(data[n - 1][0], data[n - 1][1], data[n - 1][2]))
2156
코드를 입력하세요
다이나믹 프로그래밍이 코드는 간결한데 그 아이디어를 떠올리는게 쉽지 않네요,, 이제 겨우 느낌만 알 것 같아요 이번주 수고 많으셨습니다~