코테 준비/DP
2579. 계단 오르기 (다시 보기)
imsmile2000
2023. 1. 4. 02:28
indexerror을 못찾아서 한시간동안 헤맸다....
import sys
n=int(sys.stdin.readline())
dp_in=[0]*(n+1)
for i in range(n):
k=int(sys.stdin.readline().rstrip())
dp_in[i]=k
# dp_in =10 20 15 25 10 20
dp=[0]*(n+1)
dp[0]=dp_in[0]
dp[1]=dp_in[0]+dp_in[1]
if n>=2: #n=1이면 indexerror 뜸 if문 설정 안해줘서 error 뜸
dp[2]=max(dp_in[0]+dp_in[2],dp_in[1]+dp_in[2])
# 초기화 dp=10, 30, 35, 0, 0, 0
for j in range(3,n):
dp[j]=max(dp_in[j]+dp_in[j-1]+dp[j-3],dp_in[j]+dp[j-2])
print(dp[n-1])
# [10, 30, 35, 55, 0, 0]
# [10, 30, 35, 55, 65, 0]
# [10, 30, 35, 55, 65, 75]
# [10, 30, 35, 55, 65, 75]