[풀이]
하루에 두개의 운동기구를 이용해야하며 마지막 날은 1개이든 2개이든 남은 것을 수행하면 된다. 하루의 근손실 정도 M이 최소가 되어야 하므로 양 끝에 있는 것을 선택하여 더하여 값을 비교하도록 하였다. 비교 이후에는 리스트에서 값을 제거하여 리스트에 계산이 안된 값만 남도록 하게했다. 마지막 날의 운동 기구 개수에 따라 2가지 경우로 나눠서 풀었는데.. 솔직히 좋은 코드라고 할 정도는 아니라고 생각한다. 코드 길이도 길고, 뭔가 굳이 이걸..? 이런 느낌이긴 한데 추후에 다시 한번 풀어봐야겠다!
[코드]
import sys
input = sys.stdin.readline
n = int(input())
arr = list(map(int,input().split()))
sum = 0
minValue = -1
arr.sort()
if len(arr) % 2 == 0:
while arr:
sum = arr[0] + arr[-1]
arr.pop(0)
arr.pop(-1)
if minValue < sum:
minValue = sum
else:
minValue = arr[-1]
arr.pop()
while arr:
sum = arr[0] + arr[-1]
arr.pop(0)
arr.pop(-1)
if minValue < sum:
minValue = sum
print(minValue)
'Algorithm > 백준' 카테고리의 다른 글
백준 19532번(Python) : 수학은 비대면강의입니다. (0) | 2021.03.17 |
---|---|
백준 13164번(Python) : 행복 유치원 (0) | 2021.03.15 |
백준 20115번(Python) : 에너지 드링크 (0) | 2021.03.15 |
백준 1758번(Python) : 알바생 강호 (0) | 2021.03.15 |
백준 14916번(Python) : 거스름돈 (0) | 2021.03.12 |