728x90
반응형
SMALL
✏️ 문제
문제 파악
꾸러미 중에 제일 작은 가격이 공짜이므로 큰 금액을 공짜로 받으면 이득이므로 꾸러미에 제일 작은 가격과 그 가격과 별로 차이 나지 않는 가격들끼리 묶어놓는 게 좋다.
그래서 정렬을 사용한 후 3의 배수 번째의 위치에 있는 가격들이 공짜이므로 그 가격들 제외하고 더하는 방식으로 풀었다.
알고리즘
- 그리디 알고리즘
- 정렬
코드
n = int(input())
price = 0
milk = []
for i in range(n):
milk.append(int(input()))
milk.sort(reverse=True)
for i in range(0, n):
if (i+1) % 3 != 0: # 3번째의 위치빼고 다 가격을 지불
price += milk[i]
print(price)
728x90
반응형
LIST
'PS > 백준' 카테고리의 다른 글
[Python] 9237번 이장님 초대 (0) | 2024.07.20 |
---|---|
[Python] 1758번 알바생 강호 (0) | 2024.07.20 |
[Python] 1969번 DNA (0) | 2024.07.19 |
[Python] 2828번 사과 담기 게임 (0) | 2024.07.19 |
[Python] 19941번 햄버거 분배 (0) | 2024.07.19 |