![article thumbnail image](https://blog.kakaocdn.net/dn/dfYPp0/btq4Sa6AKTo/j6V6n1kDroxkYJh5tbBSiK/img.png)
728x90
그리디 문제를 풀다보면 정렬을 어떻게 하느냐가 문제의 Key인 경우가 많다
이 문제 역시 그러하다.
이 문제의 핵심은 에너지 드링크의 양을 내림차순으로 정렬하고 가장 양이 많은 에너지 드링크를 제외하고 2번째 부터 쭉 절반으로 나눈 값을 더해 result를 갱신해주는 것이다
n = float(input())
k = list(map(int, input().split())) #에너지 드링크 양을 k 리스트에 저장
k.sort(reverse = True) #에너지 드링크 양 내림차순으로 정렬
result = 0
count = 1
for i in k:
if count == 1: #첫번째 에너지 드링크는 그대로 result 값에 넣어준다
count += 1
result += i
continue
else:
result += (i/2) #두번째 에너지드링크부터 쭉 각 원소를 절반으로 나누어 result에 추가해준다.
print(result)
'Algorithm' 카테고리의 다른 글
백준 알고리즘 파이썬(Python) 20365번 블로그2 (0) | 2021.06.01 |
---|---|
백준 알고리즘 파이썬(Python) 20300번 서강근육맨 (0) | 2021.05.27 |
백준 알고리즘 파이썬(Python) 11508번 2+1 세일 (0) | 2021.05.14 |
백준 알고리즘 파이썬(Python) 1758번 알바생 강호 (0) | 2021.05.09 |
백준 알고리즘 파이썬(Python) 13305번 주유소 (0) | 2021.05.02 |