minimimi
[백준] 14501 퇴사 본문
반응형
문제출처] https://www.acmicpc.net/problem/14501
문제요약
다이나믹 프로그래밍을 통하여 문제 풀이.
풀이
dp 배열에 테이블의 점수를 다이나믹 프로그램을 통하여 담으면 된다. dp는 인덱스가 하나 증가할 때마다 최대값을 담아댜 된다.
소스코드는 Python 3으로 작성되었습니다.
n = int(input())
table = [[0,0] for i in range(20)]
dp =[0]*20
for i in range(1,n+1):
table[i][0], table[i][1] = [int(a) for a in input().split()]
for i in range(1, n + 1) :
if i + table[i][0] > n + 1 :
pass
else:
dp[i + table[i][0]] = max(dp[i + table[i][0]],table[i][1] + dp[i])
dp[i + 1] = max(dp[i + 1], dp[i])
print(max(dp))
반응형
'프로그래밍 공부 > 알고리즘' 카테고리의 다른 글
[백준] 15650 N과 M (2) (0) | 2021.09.16 |
---|---|
[백준] 11650 좌표 정렬하기 (0) | 2021.09.13 |
[백준] 1436 영화감독 숌 (0) | 2021.09.08 |
[백준] 1012 유기농 배추 (0) | 2019.09.08 |
[백준] 2606 바이러스 (0) | 2019.09.03 |