https://www.acmicpc.net/problem/2579
어차피 마지막칸은 무조건 밟아야 하기 때문에 현재 칸을 밟는 경우의 최댓값을 계산해준다
인덱스 에러가 나지 않기 위해 리스트 인덱스0에 0을 추가했다
n = int(input())
arr = [0]
for _ in range(n):
arr.append(int(input()))
d = [0] * (n+1)
d[1] = arr[1]
if n >= 2:
d[2] = arr[1] + arr[2]
for i in range(3, n+1):
d[i] = max(d[i-3] + arr[i-1], d[i-2]) + arr[i]
print(d[n])
'알고리즘 > 백준' 카테고리의 다른 글
백준 10844: 쉬운 계단 수 (Python) (0) | 2022.04.07 |
---|---|
백준 1463: 1로 만들기 (Python) (0) | 2022.04.05 |
백준 1932: 정수 삼각형 (Python) (0) | 2022.04.01 |
백준 1149: RGB거리 (Python) (0) | 2022.03.30 |
백준 9461: 파도반 수열 (Python) (0) | 2022.03.29 |