알고리즘

[구름톤 챌린지] Day 15 - 과일 구매(그리디)

motti 2023. 9. 3. 17:21
반응형

https://level.goorm.io/exam/195697/%EA%B3%BC%EC%9D%BC-%EA%B5%AC%EB%A7%A4/quiz/1

 

구름LEVEL

난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.

level.goorm.io


문제


# 1개만 샀을때 가장 큰 값을 먼저 구매한다(딕셔너리를 새로 만들어서 1개당 가격을 구하고, 밸류로 정렬/ 여기서 딕셔너리는 1개당 가격 : 갯수)
# 그리고 최대가격을 넘어가면 스탑

n,k = map(int,input().split())

per_price = []
for _ in range(n):
	p,c = map(int,input().split())
	per_price.append((c//p,p)) # 포용감과 갯수

per_price = sorted(per_price, key = lambda x : (x[0],x[1]), reverse = True)

# print(per_price)

hap_c = 0

for a,b in per_price:
	if k>=b:
		k -=b
		hap_c += a*b
	else:
		hap_c += a*k
		break
	
print(hap_c)

1. 1개만 샀을때 가장 큰 값을 먼저 구매한다(딕셔너리를 새로 만들어서 1개당 가격을 구하고, 밸류로 정렬/ 여기서 딕셔너리는 1개당 가격 : 갯수)
2. 최대가격을 넘어가면 스탑

반응형