퇴사1과 뭐가 다른건지 잘 모르겠다.
수학책 풀고 수학익임책 푼 듯한 느낌,,?
# n 입력
n = int(input())
# T, P 설정
T, P = [], []
# t, p 입력
for _ in range(n):
t, p = map(int, input().split())
T.append(t)
P.append(p)
# dp 설정
dp = [
0 for _ in range(n+1)
]
# dp 초기설정
dp[n] = 0
# dp 채우기
for i in range(n-1, -1, -1):
if i + T[i] > n:
dp[i] = dp[i+1]
else:
dp[i] = max(dp[i+1], dp[i+T[i]] + P[i])
# 출력
print(dp[0])
'Algorithm(BOJ, Python) > Dynamic Programing' 카테고리의 다른 글
[백준_1904] 01타일 python (0) | 2022.07.13 |
---|---|
[백준_15988] 1, 2, 3 더하기 3 python (0) | 2022.07.11 |
[백준_11722] 가장 긴 감소하는 부분 수열 python (0) | 2022.07.09 |
[백준_14501] 퇴사 python (0) | 2022.07.08 |
[백준_2193] 이친수 python (0) | 2022.07.07 |