반응형
탐욕 알고리즘 적용
🧑🏻💻 me
import sys
if __name__ == '__main__':
w,n = map(int, input().split())
info_dict = {}
for _ in range(n):
unit_w, unit_p = map(int, input().split())
if unit_p in info_dict.keys():
info_dict[unit_p] += unit_w
else:
info_dict[unit_p] = unit_w
# 가격을 기준으로 sort
sort_dic = dict(sorted(info_dict.items(), reverse=True))
# 최종 값어치
total_price = 0
# 해당 dic 순회하며 배낭채우기
for k, v in sort_dic.items():
# 배낭 보다 큰 경우
if v >= w :
total_price += w * k
break
# 배낭 보다 작은경우
total_price += v * k
w = w - v
print(total_price)
반응형
'coding 📟 > coding test ⌨️' 카테고리의 다른 글
[Softeer] 나무공격 python (0) | 2024.09.27 |
---|---|
[Softeer] 8단 변속기 (0) | 2023.08.21 |
[Softeer] A+B (0) | 2023.08.20 |
[Softeer] 근무 시간 (0) | 2023.08.20 |
댓글