본문 바로가기

개발자 강화/코딩 테스트

[백준] 20044 Project Teams / 구현 / 실4

오랜만에 다시 푸려니 어색어색

실4는 금방 풀린다

 

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

 

팀당 2명 배정이고, 각 팀의 능력 합들 중 최소값이 가능한 최대가 되도록 구하는 것!

 

입력받은 s를 sort한 후, 0부터 n까지 반복하면서 i번째 원소와 2*n-1번째 요소의 값을 더해준다

이렇게 하면 둘씩 짝지었을 때 값이 최대한 비슷하면서도 min값을 최대화할 수 있음

 

각 반복마다 min 함수로 result 값을 업데이트한다

 

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

s.sort()
result=float('inf')

for i in range(n):
    temp = s[i]+s[2*n-i-1]
    result = min(result,temp)

print(result)