Notice
Recent Posts
Recent Comments
Link
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

똥그래미 코딩공장

백준 2579번(계단 오르기) 파이썬 본문

Algorithm

백준 2579번(계단 오르기) 파이썬

동그라미_ssu 2022. 12. 22. 20:17

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

 

2579번: 계단 오르기

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

www.acmicpc.net

계단 오르기 문제이다. 가장 대표적인 DP 문제중 하나라고 할 수 있다.

DP 유형은 코딩테스트 단골 유형이므로 반드시 익히고 가야하는 유형 중 하나이다.

오늘 이 DP 문제를 풀어보도록 하겠다.

 

import sys
input = sys.stdin.readline

num = int(input())
dp=[0]*(num+3)
d=[0]*(num+3)

for i in range (1,num+1):
    d[i]=int(input())

dp[1]=d[1]
dp[2]=d[1]+d[2]
dp[3]=max(d[3]+d[2],d[1]+d[3])
    

for j in range(4,num+1):
    dp[j]=max(dp[j-3]+d[j]+d[j-1],dp[j-2]+d[j])

print(dp[num])

이 문제는 DP의 대표적인 문제여서 그렇게 크게 어렵진 않았다.

하지만 DP가 뭔지 모르는 상태에서 푼다면 풀 수 없을것이다.

DP나 다른 고난이도 유형의 문제를 풀때는 유형에 대한 공부를 먼저 해야 한다고 생각한다.

'Algorithm' 카테고리의 다른 글

백준 1439번(뒤집기) 파이썬  (0) 2022.12.27
백준 1120(문자열) 파이썬  (0) 2022.12.22
백준 1049번(기타줄) 파이썬  (0) 2022.12.22
백준 1475(방번호) 파이썬  (0) 2022.12.21
백준 9012(괄호) 파이썬  (0) 2022.12.21