Coding Test/BAEKJOON
2579
210B
2023. 2. 22. 17:51
import sys
input = sys.stdin.readline
n = int(input())
stairs = []
for i in range(n):
stairs.append(int(input()))
dp = [0 for _ in range(n)]
dp[0] = stairs[0]
dp[1] = stairs[0] + stairs[1]
dp[2] = max(stairs[0], stairs[1]) + stairs[2]
for i in range(3, n):
dp[i] = max(dp[i-2], dp[i-3]+stairs[i-1])+stairs[i]
print(max(dp))
틀렸다..
테케는 잘 돌아갔는데 또 뭐가 문제인지 찾아봐야 한다
import sys
input = sys.stdin.readline
n = int(input())
stairs = [0 for i in range(301)]
dp = [0 for i in range(301)]
for i in range(n):
stairs[i] = int(input())
dp[0] = stairs[0]
dp[1] = stairs[0] + stairs[1]
dp[2] = max(stairs[1] + stairs[2], stairs[0] + stairs[2])
for i in range(3, n):
dp[i] = max(dp[i - 3] + stairs[i - 1] + stairs[i], dp[i - 2] + stairs[i])
print(dp[n - 1])
돌아감
#동적계획법