20300 - 서강근육맨

LeeKyoungChang·2022년 6월 7일
0

Algorithm

목록 보기
150/203
post-thumbnail

📚 20300 - 서강근육맨

서강근육맨

 

이해

N개의 운동 기구를 한 번씩 사용해보고 싶은 향빈이는 이전에 사용하지 않았던 운동기구를 선택한다.
PT 받을 때 운동 기구 최대 2개를 사용한다. (한 개만 남았을 경우 제외 무조건 2개)
근손실 정도가 M을 넘지 않도록 하고 싶다.

✔ 경우의 수
정렬을 한 후, 현재 사용하지 않았던 운동기구를 선택하는데 가장 작은 값과 가장 큰 값 합으로 근손실 정도를 구한다.

1 2 3 4
1 4, 2 3 => 5

다만, 홀수일 때는 가장 마지막 인덱스를 제외시킨다. (마지막 하나만 따로 근손실 정도 값 구하고 비교한다.)

 

소스

import sys  
  
read = sys.stdin.readline  
  
n = int(read())  
  
exercise = list(map(int, read().split()))  
  
exercise.sort()  
  
answer = exercise[-1]  
  
if len(exercise) % 2 != 0:  
    del exercise[-1]  
  
for i in range(len(exercise)//2):  
    answer = max(answer, exercise[i] + exercise[len(exercise) - 1 - i])  
  
print(answer)

 

profile
"야, (오류 만났어?) 너두 (해결) 할 수 있어"

0개의 댓글