처음에는 어떻게 할지 고민하다가 3으로 묶었을 때(나누었을 때) 나머지가 0,1,2인 경우를 나눠서 작성했는데 생각해보니 나머지가 2일 때만 제외하고 값을 더하면 될 것 같아 다시 작성하였다. 그리고 할인 되는 품목은 비싼 가격이면 좋으므로 내림차순으로 먼저 정렬을 하고 풀었다.
(처음 코드는 경우를 다 구분해서 작성을 하여서 코드 길이가 너무 길었다.)
import sys
input = sys.stdin.readline
n = int(input())
arr = []
for i in range(n):
arr.append(int(input()))
arr.sort(reverse=True)
sum = 0
for i in range(n):
if i % 3 != 2:
sum += arr[i]
print(sum)
'Algorithm > 백준' 카테고리의 다른 글
백준 1758번(Python) : 알바생 강호 (0) | 2021.03.15 |
---|---|
백준 14916번(Python) : 거스름돈 (0) | 2021.03.12 |
백준 10988번(Python) : 팰린드롬인지 확인하기 (0) | 2021.03.09 |
백준 2231번(Python) : 분해합 (0) | 2021.03.05 |
백준 7795번(Python) : 먹을 것인가 먹힐 것인가 (0) | 2021.03.03 |