Algorithm Problems

[백준][Python] 2597번 계단 오르기 - DP

WakaraNai 2021. 9. 3. 14:57
728x90
반응형

https://www.acmicpc.net/problem/2579

 

2579번: 계단 오르기

계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. <그림 1>과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점

www.acmicpc.net

 

 

Python

import sys
input = sys.stdin.readline

n = int(input().rstrip())
arr = [0]+[int(input().rstrip()) for _ in range(n)]

dp = [[arr[i], arr[i]] for i in range(n+1)]

for i in range(2, n+1):
    dp[i][0] += dp[i-1][1]  # 직전 계단은 건너 뛰어서 온 계단만 가능
    dp[i][1] += max(dp[i-2]) # 두 칸 뒤의 계단은 어디서 오든 상관 없음

print(max(dp[-1]))
728x90
반응형