728x90
반응형
https://www.acmicpc.net/problem/20044
문제의 접근 방법
- 학생의 수는 항상 짝수.
- 가장 높은 역량을 가진 학생과 가장 낮은 역량을 가진 학생이 한 팀이 되면 됨.
- 오름차순 정렬, 내림차순 정렬.
- 최솟값 구하기.
문제 풀이 방법
팀 수를 나타내는 N 입력 받기 -> 학생들의 코딩 역량을 나타내는 양의 정수 2N개 입력받아 리스트에 저장 -> 가장 큰 수와 가장 작은 수를 같은 팀에 넣기 위해 오름차순 정렬(a), 내림차순 정렬(b) 해주기 -> w의 길이만큼 반복문을 돌려 리스트 a와 b의 가장 첫 번째 인덱스부터 더해서 arr에 추가해주기 -> 더한 값들 중 가장 작은 값을 출력해주기!
소스코드
N = int(input())
w = list(map(int, input().split()))
a = sorted(w)
b = sorted(w, reverse=True)
arr = []
for i in range(len(w)):
x = a[i] + b[i]
arr.append(x)
print(min(arr))
728x90
반응형
'백준 write-up > 정렬 & 그리디' 카테고리의 다른 글
[백준] 아우으 우아으이야!! : 15922번 - Python (0) | 2021.07.28 |
---|---|
[백준] 수열과 쿼리 3 : 13544번 - Python (0) | 2021.07.28 |
[백준] 단어 퍼즐 : 9946번 - Python (0) | 2021.07.27 |
[백준] 소가 길을 건너간 이유 3 : 14469번 - Python (0) | 2021.07.27 |
[백준] 스네이크 버드 : 16435번 - Python (0) | 2021.07.26 |