정렬 5


정렬 5(두 배열의 원소 교체)

출처 : (이코테 2021 강의 몰아보기) 4. 정렬 알고리즘
https://www.youtube.com/watch?v=KGyK-pNvWos&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=4

두 배열의 원소 교체

두 개의 배열 A와 B는 N개의 원소로 구성되어 있으며, 배열의 원소는 모두 자연수
최대 K번의 바꿔치기 연산을 수행할 수 있는데, 바꿔치기 연산은 배열 A에 있는 원소 하나와 배열 B에 있는 원소 하나를 골라서 두 원소를 서로 바꾸는 것
최종 목표는 배열 A의 모든 원소의 합이 최대가 되도록 하는 것
N,K, 그리고 배열 A와 B의 정보가 주어졌을 때, 최대 K번의 바꿔치기 연산을 수행하여 만들 수 있는 배열 A의 모든 원소의 합의 최댓값을 출력하는 프로그램을 작성하시오

코드

#두 배열의 원소 교체
n,k=map(int,input().split())
a=list(map(int,input().split()))
b=list(map(int,input().split()))
a.sort()
b.sort(reverse=True)
for i in range(k):
    if a[i]<b[i]:
        a[i],b[i]=b[i],a[i]
    else:
    break
print(sum(a))





© 2021.07. by 전은성

Powered by 전은성