4 0 3 2 (2. -> 1.) 1 2 2 (1.) 2 8 1 (2.) (쿠폰이 부족해지면, 쿠폰을 먹이지 않고 사는 게 필요해진다. -> 쿠폰을 먹인 것 중 가장 효율이 적은 것과 비교해서, 둘 중 하나만 쿠폰을 먹일 때 금액이 최소가 되는 것으로 쿠폰을 먹이는 것으로 결정.) 3 4 3 (3.) (쿠폰을 먹여서 구매를 하더라도 비용 초과다.)
정렬은 필요가 없다. 정렬한다고해서 못사던 걸 살 수 있게 되는 건 아니기 때문.
2개 이상을 빼서 하나를 넣어서 비용이 줄어들 수도 있나?
→ 쿠폰을 둘 다 먹이지 않을 상태로 고민하는 순간도 있겠따. 그럼 금액이 줄어드는 것도 가능.
→ 빠지는 우선순위. 쿠폰으로 할인하는 금액이 저렴한 것들.
금액을 초과하는 상황에서 쿠폰을 똑같이 쓰지 않은 것들 중에서 금액이 적어지는 선택이 가능하다면 빼고 넣는다.
비용 이내이고 쿠폰이 여유가 있다면, 쿠폰 먹여서 구매
비용 이내인데 쿠폰에 여유는 없다면, 쿠폰을 어디에 먹이면 좋을지 계산해서 구매
비용 초과인데 쿠폰에 여유가 있다면?
쿠폰 먹인 것 중 가장 비싼 녀석을 구매하지 않는다.
→ 쿠폰을 먹여서 살 것들을 1트랙 먼저 결정. 이것들을 제외하고 일반 금액 중 저렴한 비용 순으로 돈이 되는 만큼 구매하기
산다면
쿠폰을 먹여서 특히 저렴해지는 게 우선
쿠폰이 모자라다면, 비용 감소가 적은 게 빠진다.
비용 감소가 적더라도 금액 자체가 작은 것보다 우선순위가 높지 않다.
쿠폰을 먹인 비용이 비싸다면, 쿠폰을 먹이지 않는다.