관리 메뉴

JIE0025

[Softeer][level2] 금고털이 - 파이썬(Python) 본문

알고리즘/Softeer

[Softeer][level2] 금고털이 - 파이썬(Python)

Kangjieun11 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)