[실버 4] 백준 11508 - 2+1 세일 (파이썬)
글 작성자: pental
https://www.acmicpc.net/problem/11508
풀이
- N개의 물건 가격이 주어진다
- 2 + 1세일은 물건을 세개 살때 가장 싼 한개는 무료로 적용한다.
- 이때, 최소 비용으로 구매하는 금액을 구하라
아이디어
- 비싼 순으로 정렬후
- 3개씩 묶어서, 그 중 가장 싼 물건은 빼기
discount = 0
for i in range(0, N, 3) :
if i + 2 < N :
discount += C[i + 2]
3개씩 묶어서 매 세번째 아이템을 할인 대상으로 적용한다.
단, 범위를 벗어나지 않도록 if i + 2 < N 을 체크한다.
print(sum(C) - discount)
전체 가격 합에서 할인액을 뺴서 최종 결제 금액을 출력한다.
코드
# 백준 11508 - 2+1 세일
# 분류 : 그리디
N = int(input())
C = []
for i in range(N) :
C.append(int(input()))
C.sort(reverse=True)
discount = 0
for i in range(0, N, 3) :
if i + 2 < N :
# i, i + 1, i + 2
discount += C[i + 2]
print(sum(C) - discount)
'Programming > 백준' 카테고리의 다른 글
[골드 3] 백준 16437 - 양 구출 작전 (파이썬) (0) | 2025.04.24 |
---|---|
[골드 1] 백준 2213 - 트리의 독립집합 (파이썬) (0) | 2025.04.24 |
[골드 5] 백준 15989 - 1, 2, 3 더하기 4 (파이썬) (0) | 2025.04.23 |
[골드 3] 백준 2629 - 양팔저울 (파이썬) (0) | 2025.04.23 |
[골드 2] 백준 13334 - 철로 (파이썬) (0) | 2025.04.22 |
댓글
이 글 공유하기
다른 글
-
[골드 3] 백준 16437 - 양 구출 작전 (파이썬)
[골드 3] 백준 16437 - 양 구출 작전 (파이썬)
2025.04.24 -
[골드 1] 백준 2213 - 트리의 독립집합 (파이썬)
[골드 1] 백준 2213 - 트리의 독립집합 (파이썬)
2025.04.24 -
[골드 5] 백준 15989 - 1, 2, 3 더하기 4 (파이썬)
[골드 5] 백준 15989 - 1, 2, 3 더하기 4 (파이썬)
2025.04.23 -
[골드 3] 백준 2629 - 양팔저울 (파이썬)
[골드 3] 백준 2629 - 양팔저울 (파이썬)
2025.04.23