11508번: 2+1 세일
KSG 편의점에서는 과일우유, 드링킹요구르트 등의 유제품을 '2+1 세일'하는 행사를 하고 있습니다. KSG 편의점에서 유제품 3개를 한 번에 산다면 그중에서 가장 싼 것은 무료로 지불하고 나머지 두
www.acmicpc.net
문제
n개의 제품이 주어진다.
마트에서는 2+1 행사를 하며, 꾸러미에 3개의 제품을 담으면 1개는 무료로 판매된다.
이 때, 주어진 제품을 모두 구입한다고 했을 때 최소 비용은 얼마인가?
문제 풀이
가장 비싼 제품을 3번째 꾸러미에 담으면 된다.
따라서 제품들을 내림차순으로 정렬하고, 3의 배수가 되는 제품의 비용을 총 가격에 포함시키지 않으면 된다.
코드
import sys # sys.stdin = open("C:/Users/JIn/PycharmProjects/coding_Test/input.txt", "rt") n = int(input()) prices = [int(input()) for _ in range(n)] prices = sorted(prices, reverse=True) res = 0 for i in range(1, n+1): if i % 3 == 0: continue res += prices[i-1] print(res)
'코딩 테스트' 카테고리의 다른 글
[백준 5052] 전화번호 목록 (0) | 2021.03.08 |
---|---|
[백준 5014] 스타트링크 (0) | 2021.02.28 |
[백준 13458] 시험 감독 (0) | 2021.02.24 |
[프로그래머스] 위장 (0) | 2021.02.22 |
[14938 백준] 서강그라운드 - 다익스트라 알고리즘 (0) | 2021.02.17 |