파이썬 문제풀이/그리드

[백준 11508 파이썬] 2+1 세일 풀이

ari0930 2024. 1. 24. 15:38

문제

유제품을 3개를 한 번에 산다면 그중 가잔 싼 것은 무료 나머지 두 개의 제품 가격만 지불한다

한 번에 3개를 사지 않는다면 할인 없이 정가 지불해야 한다

 

입력

첫 줄에 유제품수

두 번째 줄부터는 각 유제품의 가격

 

출력

n개의 유제품을 살 때 최소 비용을 출력한다

 

예제

(3,2,2) (3) 이렇게 구입한다 

 

문제풀이

1. 정렬을 이용하여 큰 수부터 정렬한다

2. 입력받은 유제품 가격을 루프를 돌려 3의 배수가 아닐 때 그 유제품 가격을 더한다

 

코드

n=int(input())

data=[] 
for i in range(n):
    a=int(input())
    data.append(a) #유제품 가격 저장

data.sort(reverse=True) #역정렬

answer=0
count=1

while count<=n:
    if count%3!=0: #3의 배수가 아니면 그가격을 더한다
        answer+=data[count-1]
    count+=1


print(answer) #최종가격을 출력한다

 

반응형