728x90
- 두 개의 배열 A, B
- N개의 원소로 구성
- 최대 K 번 바꿔치기 연산 수행
- 배열 A의 모든 원소의 합이 최대가 되도록
n, k = map(int, input().split())
a = list(map(int, input().split())) # 배열 A
b = list(map(int, input().split())) # 배열 B
a.sort() # 배열 A는 오름차순 정렬
b.sort(reverse=True) # 배열 B는 내림차순 정렬
# 첫 번째 인덱스부터 확인하며, 두 배열의 원소를 최대 K번 비교
for i in range(k):
# A의 원소가 B의 원소보다 작은 경우
if a[i] < b[i]:
# 두 원소 교체
a[i], b[i] = b[i], a[i]
else: # A의 원소가 B의 원소보다 크거나 같으면 종료
break
print(sum(a))
반응형
'전.py' 카테고리의 다른 글
[python] 정렬된 배열에서 특정 수의 개수 구하기 (0) | 2022.02.24 |
---|---|
[python] 떡볶이 떡 만들기 (이진 탐색) (0) | 2022.02.24 |
[python] 정렬 (0) | 2022.02.23 |
[python] 프로그래머스 내적 (0) | 2022.02.23 |
[python] 백준 1448 삼각형 만들기 (0) | 2022.02.23 |