코딩테스트/백준문제

[python 파이썬] 백준 2579번 : 계단 오르기

jaewon_sss 2020. 8. 4. 00:18
반응형

DP 좋은 문제 추천


https://won-percent.tistory.com/entry/%EC%A2%8B%EC%9D%80-DP-%EB%AC%B8%EC%A0%9C%EB%93%A4-%EC%B6%94%EC%B2%9C



문제

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


두번째 고비였지만 다행히 넘겼다. 도저히 안풀려서 롤 두 판 했더니 풀렸다. (???)


풀이


n = int(input())
score=[]
stair=[0 for _ in range(n)]
for i in range(n):
score.append(int(input()))

stair[0] = score[0]

for i in range(1,n):
if i == 1:
stair[1] = stair[0] + score[1]

elif i == 2:
stair[i] = max(stair[0]+score[2],score[1]+score[2])

else:
stair[i] = max(score[i-1]+score[i]+ stair[i-3], stair[i-2]+score[i])

print(stair[n-1])


반응형