반응형
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

짧은코딩

두 배열의 원소 교체 본문

코딩 테스트(Python)/이것이 취업을 위한 코딩 테스트다

두 배열의 원소 교체

5_hyun 2022. 5. 29. 02:22
반응형

-처음에 생각한 풀이

처음엔 max, min 메소드를 이용하면 될 것이라고 생각했지만 이거로는 충분하지 않았다.

 

-풀이

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

a를 오름차순, b를 내림차순으로 입력 받는다. 그리고 k만큼 반복하면서 비교한다.

만약 a가 b보다 작으면 두 집합의 원소를 바꾼다.

a가 b보다 같거나 커지면 반복문을 종료한다.

 

이 문제에서 입력 조건으로 두 배열의 원소가 최대 100,000개까지 입력될 수 있어서 O(NlogN)을 보장하는 정렬 알고리즘을 사용해야 한다.

반응형
Comments