문제정의
배열 크기 n, 교체횟수 k 가 주어졌을 때, k번 데이터를 교체하여 a 리스트의 원소 합이 최대가 되게 하시오.
입력조건
출력조건
내가 짠 코드
n = 5
k = 3
a = [1,2,5,4,3]
b = [5,5,6,6,5]
sa = sorted(a, reverse=False)
sb = sorted(b, reverse=True)
for i in range(k):
temp = sa[i]
sa[i] = sb[i]
sb[i] = temp
result = 0
for j in range(len(sa)):
result += sa[j]
print(result)
정답코드
n, k = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
a.sort(reverse=False)
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))