반응형
SOLUTION
import sys
W, N = map(int, sys.stdin.readline().split())
jewels = [list(map(int, sys.stdin.readline().split())) for _ in range(N)]
jewels = sorted(jewels, key=lambda x: x[1], reverse=True) # lambda함수와 reverse=T를 사용하여 가치가 높은 순 으로 정렬 / 무게순으로는 정렬할 필요가 없다.
total_price = 0
for weight, price in jewels:
if W > weight:
total_price += weight * price # 보석의 무게 * 가치
W -= weight
else:
total_price += W * price # 남은 W만큼 보석을 잘라낸 무게 * 가치
break
print(total_price)
'코딩테스트 대비 > Softeer' 카테고리의 다른 글
[Softeer/Python] [21년 재직자 대회 예선] 전광판 ★★☆☆☆ - 효과는 굉장했다! (0) | 2021.11.09 |
---|---|
[Softeer/Python] [21년 재직자 대회 예선] 비밀메뉴 ★★☆☆☆ - 효과는 굉장했다! (0) | 2021.11.09 |
[Softeer/Python] 바이러스 ★★☆☆☆ - 효과는 굉장했다! (0) | 2021.11.09 |
[Softeer/Python] 동계 테스트 시점 예측 ★★★☆☆ - 효과는 굉장했다! (0) | 2021.11.02 |
[Softeer/Python] 스마트 물류 ★★★☆☆ - 효과는 굉장했다! (0) | 2021.11.02 |