programming language/Algorithm

[백준] 20115 에너지드링크 (Greedy문제)

jellylucy 2022. 4. 3. 11:31

문제

https://www.acmicpc.net/problem/20115

 

20115번: 에너지 드링크

페인은 에너지 드링크를 좋아하는 회사원이다. 에너지 드링크는 카페인, 아르기닌, 타우린, 나이아신 등의 성분이 들어있어 피로 회복에 도움을 주는 에너지 보충 음료수이다. 야근을 마치고 한

www.acmicpc.net

 


 

문제풀이

1. 최대의 양을 얻는 경우 => 최소의 양을 버리기

1. sort 정렬을 통해서 최소의 양을 순차적으로 고른다.

 

2. list의 제일 큰 값에 결과를 저장한다

Why? 순차적으로 작은 순으로 나누는값을 고르기 때문에 결국 제일 큰 값을 나누지 않고 더해진다.

 

3. 출력값은 정수로.

소수점 자리수 제한 방법 round 함수를 이용했다.

https://blockdmask.tistory.com/534

 

[python] 파이썬 소수점 자리수 제한 방법 3가지

안녕하세요. BlockDMask입니다. 오늘은 파이썬에서 소수점 자릿수를 제한하는 방법들에 대해서 알아보려고 합니다. <목차> 1. round 함수를 통해서 소수점 자리수 반올림 하기 2. format 서식 지정을 통

blockdmask.tistory.com


n = int(input())
energy_list = list(map(int, input().split()))

#  최대의 양을 원한다면, 버리는 양을 정할 때 적은 드링크를 선택해야지
energy_list.sort()
# print(energy_list)
len_energy = len(energy_list)
first = energy_list[0]
second = energy_list[len_energy-1]
sum = 0

for i in range(0,n-1):
    sum += energy_list[i] / 2 

sum += second
sum = round(sum)
# print('%g'%sum)
print(sum)

1. for 문으로 깔끔하게 정답 출력!