[백준] 15720 카우버거

거북이·2023년 3월 6일
0

백준[실버5]

목록 보기
100/114
post-thumbnail

💡문제접근

  • 버거, 사이드, 음료의 가격을 내림차순 정렬을 수행한 다음 하나씩 고를 수 있는 최소의 길이를 구해서 그 길이가 될 때까지는 할인율 10%를 적용하고 나머지는 그냥 총합에 더해주는 방식으로 계산한다.

💡코드(메모리 : 31256KB, 시간 : 44ms)

import sys
input = sys.stdin.readline

B, C, D = map(int, input().strip().split())
burger_price = list(map(int, input().strip().split()))
side_price = list(map(int, input().strip().split()))
beverage_price = list(map(int, input().strip().split()))

burger_price.sort(reverse=True)
side_price.sort(reverse=True)
beverage_price.sort(reverse=True)

Not_discount_price = sum(burger_price) + sum(side_price) + sum(beverage_price)

burger_length = len(burger_price)
side_length = len(side_price)
beverage_length = len(beverage_price)
Min = min(burger_length, side_length, beverage_length)

Sum = 0
for i in range(Min):
    Sum += (burger_price[i] + side_price[i] + beverage_price[i]) * 0.9

Sum += sum(burger_price[Min:])
Sum += sum(side_price[Min:])
Sum += sum(beverage_price[Min:])

print(Not_discount_price)
print(int(Sum))

💡소요시간 : 14m

0개의 댓글