링크 : https://www.acmicpc.net/problem/11508
11508번: 2+1 세일
KSG 편의점에서는 과일우유, 드링킹요구르트 등의 유제품을 '2+1 세일'하는 행사를 하고 있습니다. KSG 편의점에서 유제품 3개를 한 번에 산다면 그중에서 가장 싼 것은 무료로 지불하고 나머지 두
www.acmicpc.net
- 문제
- 소요시간: 8분 40초
- 설계하기(접근방법)
1. 입력받기
입력 조건을 입력받는다
2. 구현하기
물건을 가장 싸게 사는 방법은 비싼 물건 순으로 정렬하여 묶는 것이다
한 묶음에서 가장 저렴한 상품의 가격이 제거되니
비싼 묶음에 싼 물건 하나가 존재하면 손해를 본다
sort()를 통해 정렬한 후
for문을 통해 3번 째 물건들의 가격은 더하지 않는다
3. 출력하기
가격을 출력한다
- 코드(출력)
import sys
quantity = int(sys.stdin.readline())
price_list = []
for i in range(quantity):
price_list.append(int(sys.stdin.readline()))
price_list.sort(reverse= True)
total_price = 0
for i in range(len(price_list)):
if i % 3 == 0:
total_price += price_list[i]
elif i % 3 == 1:
total_price += price_list[i]
else:
pass
print(total_price)
- 얻어갈 부분
1. 입력과 시간 제한을 보고 넘을 것 같으면 import sys를 사용하자
'알고리즘(백준) > 그리디' 카테고리의 다른 글
[알고리즘/그리디] 1080번 : 행렬 - python (0) | 2024.01.03 |
---|---|
[알고리즘/그리디] 11501번 : 주식 - python (0) | 2024.01.03 |
[알고리즘/그리디] 2828번 : 사과 담기 게임 - python (1) | 2024.01.02 |
[알고리즘/그리디] 14916번 : 거스름돈 - python (0) | 2024.01.02 |
[알고리즘/그리디] 1343번 : 폴리오미노 - python (0) | 2024.01.02 |