1. 문제 설명
- 주어진 두 배열에서 값들을 옮겨 한 배열의 합이 최대가 되도록 만드는 문제
- 각 배열의 원소들을 오름차순과 내림차순으로 정렬해서 원소들을 바꿔주면 해결되는 문제
2. 코드
n, k = list(map(int,input().split()))
ls1 = sorted(list(map(int, input().split())))
ls2 = sorted(list(map(int, input().split())), reverse=True)
# k번만큼 반복 (굳이 k번을 안해도 된다면??)
for i in range(k):
if ls1[i] < ls2[i]:
ls1[i], ls2[i] = ls2[i], ls1[i]
else:
break
print(sum(ls1))
"""
5 3
1 2 5 4 3
5 5 6 6 5
### [1, 2, 3, 4, 5] [6, 6, 5, 5, 5] <-정렬된 형태
>> 26
"""
3. 코멘트
X
'알고리즘_코딩테스트 > 이것이 코딩테스트다' 카테고리의 다른 글
| [이진탐색] 부품찾기 (0) | 2021.12.07 |
|---|---|
| [이진탐색] 떡볶이 떡 만들기 (2) | 2021.12.07 |
| [정렬] 성적이 낮은 순서 (1) | 2021.12.07 |
| [정렬] 위에서 아래로 (0) | 2021.12.07 |
| [BFS] 미로 탈출 (1) | 2021.09.25 |
