카테고리 없음
[Algorithm 문제 유형 분석] knapsack(베낭 문제) 쉽게 구현하기
SweetDev
2021. 11. 18. 15:36
포인트는
윗줄에서 무게뺀거 + 새로운 아이템 가치랑, 그냥 윗줄이랑 비교해서 더 무거운걸 채우는거다
아직 현 아이템을 채울 정도의 weight이 되지 않았다면 그냥 윗줄꺼를 채워주면 된다.
for i in range(1, N + 1):
for j in range(1, K + 1):
weight = stuff[i][0]
value = stuff[i][1]
if j < weight:
knapsack[i][j] = knapsack[i - 1][j]
else:
knapsack[i][j] = max(value + knapsack[i - 1][j - weight], knapsack[i - 1][j])
[문제 유형]
평범한 베낭 - 아이템이 한종류
카우버거 알바생