본문 바로가기

CS/Coding Test

[ 이것이 취업을 위한 코딩 테스트다 with 파이썬 ] Chapter 16 다이나믹 프로그래밍 문제 - Q33 퇴사

728x90

1. 문제

 


 

2. 코드

n = int(input())

t, p = [0]*n, [0]*n

for i in range(n):
    t[i], p[i] = map(int, input().split())
        
dp = [0]*25

for i in range(n):
    if dp[i] > dp[i+1]: 
        dp[i+1] = dp[i]
    if dp[i+t[i]] < dp[i] + p[i]:
        dp[i+t[i]] = dp[i] + p[i]
        
print(dp[n])