이코테-chapter6: 두 배열의 원소 교체

cosmos·2022년 2월 9일
0
post-thumbnail

정리 내용

문제 설명

  • 난이도: 하
  • 시간 제한: 2초
  • 메모리 제한: 128mb
  • 첫 번째 줄에 n, k가 공백으로 구분되어 입력된다.
  • 두 번째 줄에 배열 a의 원소들이 공백으로 구분되어 입력된다. 모든 원소는 자연수이다.
  • 세 번째 줄에 배열 b의 원소들이 공백으로 구분되어 입력된다. 모든 원소는 자연수이다.
  • 최대 k번의 바꿔치기 연산을 수행하여 만들 수 있는 배열 a의 모든 원소의 합의 최댓값을 출력한다.
  • 바꿔치기 연산이란 a에 있는 원소 하나와 b에 있는 원소 하나를 서로 바꾸는것을 말한다.

문제 풀이

  • 배열 a에서 가장 작은 원소를 골라서, 배열 b에서 가장 큰 원소와 교체한다.
  • 단, 배열 a에서 가장 작은 원소가 배열 b에서 가장 큰 원소보다 작을 때만 교체를 수행한다.

코드

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))

출처 && 깃허브

이것이 취업을 위한 코딩 테스트다 with python

github

0개의 댓글

관련 채용 정보