온라인 쇼핑몰에서 N개의 상품을 장바구니 후보로 골랐습니다. i번째 상품의 가격은 costs[i], 그 상품을 담았을 때 얻는 만족도는 values[i] 입니다. 사용할 수 있는 총 예산은 budget 입니다.
각 상품은 0개 또는 1개만 담을 수 있습니다. (쪼개거나 여러 개 담을 수 없음) 담은 상품들의 가격 합이 budget 을 넘지 않도록 하면서, 만족도 합이 최대가 되도록 골랐을 때의 만족도 합 최댓값을 반환하세요.
solution(costs, values, budget) 형태로 구현합니다.
costs=[3,4,5], values=[4,5,6], budget=7 → 9
(가격 3+4=7 ≤ 7, 만족도 4+5=9. 5+? 는 예산 초과로 단일뿐)
costs=[2], values=[10], budget=1 → 0
(유일한 상품 가격 2 > 예산 1, 아무것도 못 담음)
costs=[1,2,3], values=[6,10,12], budget=6 → 28
(전부 담아도 가격 합 6 ≤ 6, 만족도 6+10+12=28)시간 복잡도 목표: O(N · budget)
▶ 실행은 기록 없이 채점만, 제출은 결과가 진행률·오답노트에 기록됩니다.