알고리즘/[문제풀이] 백준
[백준] DP - 계단 오르기
로그뉴
2020. 10. 3. 17:51
2579번: 계단 오르기
계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. <그림 1>과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점
www.acmicpc.net

DP 문제 풀 때 1차원 배열로 안되겠다 싶으면 바로 2차원 배열 떠올리자.
n = int(input())
a = [0] * (n + 1)
for i in range(1, n + 1):
a[i] = int(input())
d = [[0] * 3 for _ in range(n + 1)]
for k in range(1, n + 1):
d[k][1] = max(d[k - 2][1], d[k - 2][2]) + a[k]
d[k][2] = d[k - 1][1] + a[k]
print(max(d[n][1], d[n][2]))