백준 2579 - 계단 오르기 (파이썬)

Updated:

Answer

n = int(input())
s = [0 for _ in range(301)]
dp = [0 for _ in range(301)]

for i in range(n):
    s[i] = int(input())

dp[0] = s[0]
dp[1] = s[0] + s[1]
dp[2] = max(s[1] + s[2], s[0] + s[2])

for i in range(3, n):
    dp[i] = max(dp[i - 3] + s[i - 1] + s[i], dp[i - 2] + s[i])

print(dp[n - 1])

Categories:

Updated: