Algorithm/baekjoon
[파이썬]baekjoon 2579: 계단 오르기
갈잃자
2023. 1. 12. 19:37
https://www.acmicpc.net/problem/2579
2579번: 계단 오르기
계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. <그림 1>과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점
www.acmicpc.net
dp문제
점화식을 구하는게 어려움
n = int(input())
arr = [int(input()) for _ in range(n)]
# dp란 리스트는 해당위치 최댓값을 뜻함
dp = [0]*n
if len(arr) <=2:
print(sum(arr))
else:
dp[0] = arr[0]
dp[1] = arr[0] + arr[1]
for i in range(2,n):
case1 = dp[i-3] + arr[i-1] + arr[i] # 지금위치에 한 계단을 건너고 온 경우
case2 = dp[i-2] + arr[i] # 지금위치에 두 계단을 건너고 온 경우
dp[i] = max(case1, case2)
print(dp[-1])