-Code
n = int(input())
days = []
dp = [0] * (n + 1)
for _ in range(n):
t, p = map(int, input().split())
days.append((t, p))
for i in range(n):
for j in range(i + days[i][0], n + 1):
if dp[j] < dp[i] + days[i][1]:
dp[j] = dp[i] + days[i][1]
print(max(dp))
머리로는 이해가 되는데 코딩이 잘 안 돼서 결국 찾아보고 부족한 부분을 해결했습니다. dp문제를 많이 풀어봐야겠다고 생각했습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 10211번 Maximum Subarray (0) | 2022.05.12 |
---|---|
[백준/파이썬] 1699번 제곱수의 합 (0) | 2022.05.12 |
[백준/파이썬] 12015번 가장 긴 증가하는 부분 수열 2 (0) | 2022.05.11 |
[백준/파이썬] 11055번 가장 큰 증가 부분 수열 (0) | 2022.05.11 |
[백준/파이썬] 1912번 연속합 (0) | 2022.05.11 |