백준 - 평범한 배낭(12865) 본문
그간 알고리즘 문제를 풀었는데
한번도 정리한적이 없다.
양이 정말 많은데..... 차근차근 정리를 해본다. 복습할겸
로직은 dp로 풀었다.
dp의 근본 문제같은 느낌?? 이었다.
n,k = map(int, input().split())
wv = [[0,0]]
for i in range(n):
wv.append(list(map(int, input().split())))
dp = [[0]*(k+1) for _ in range(n+1)]
for i in range(n+1):
for j in range(1,k+1):
w = wv[i][0]
v = wv[i][1]
if j < w: dp[i][j] = dp[i-1][j]
else:
dp[i][j] = max(dp[i-1][j],dp[i-1][j-w]+v)
print(dp[n][k])
'알고리즘' 카테고리의 다른 글
백준 - 가장 긴 증가하는 부분 수열5(14003) (0) | 2023.12.12 |
---|---|
백준 - 선분 그룹(2162) (0) | 2023.12.12 |
백준 - 롤러코스터(2873) (1) | 2023.12.12 |
백준 - 여러분의 다리가 되어 드리겠습니다!(17352) (1) | 2023.12.10 |
백준 - 라면사기(18185) (0) | 2023.12.09 |
Comments