기록하는 습관

[백준] DP - 계단 오르기 본문

알고리즘/[문제풀이] 백준

[백준] DP - 계단 오르기

로그뉴 2020. 10. 3. 17:51

www.acmicpc.net/problem/2579

 

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]))

'알고리즘 > [문제풀이] 백준' 카테고리의 다른 글

[백준] DP - 연속합  (0) 2020.10.03
[백준] DP - RGB 거리  (0) 2020.10.03
[백준] DP - 1로 만들기  (0) 2020.10.03
[문제풀이] 경쟁적 전염  (0) 2020.08.22
[백준] 1697 숨바꼭질(BFS)  (0) 2020.01.21
Comments