Algorithm/Softeer
[Softeer][level2] 금고털이 - 파이썬(Python)
sdoaolo
2023. 1. 28. 16:51
728x90
https://softeer.ai/practice/info.do?idx=1&eid=395
Softeer
연습문제를 담을 Set을 선택해주세요. 취소 확인
softeer.ai
문제
루팡은 배낭을 하나 메고 은행금고에 들어왔다. 금고 안에는 값비싼 금, 은, 백금 등의 귀금속 덩어리가 잔뜩 들어있다. 배낭은 W ㎏까지 담을 수 있다.
각 금속의 무게와 무게당 가격이 주어졌을 때 배낭을 채울 수 있는 가장 값비싼 가격은 얼마인가?
루팡은 전동톱을 가지고 있으며 귀금속은 톱으로 자르면 잘려진 부분의 무게만큼 가치를 가진다.
제약조건
1 ≤ N ≤ 106인 정수
1 ≤ W ≤ 104인 정수
1 ≤ Mi, Pi ≤ 104인 정수

💡 사고한 내용

💻 내가 쓴 정답코드
import sys
input = sys.stdin.readline
w, n = map(int,input().split())
valueInfo = [list(map(int,input().split())) for _ in range(n)]
valueInfo.sort(key = lambda x : x[1], reverse = True)
result = 0
for m, p in valueInfo:
if w - m >= 0:
w -= m
result += (m*p)
else: # 잘라서 넣어줘야함.
result += (w*p)
break
print(result)