국문과 유목민

[정렬] 두 배열의 원소 교체 본문

알고리즘_코딩테스트/이것이 코딩테스트다

[정렬] 두 배열의 원소 교체

논곰 2021. 12. 7. 22:57

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

Comments