새소식

Programming/Algorithm

[정렬 알고리즘] 문제: 두 배열의 원소 교체

  • -

https://youtu.be/KGyK-pNvWos?si=UmTopIc_Gx-Xh8nV

본 내용은 위의 유투브를 참고해서 작성했음을 밝힙니다!

<문제> 두 배열의 원소 교체

출처: 동빈나 유투브

 

문제 해결 아이디어

출처: 동빈나 유투브

n, k = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
a.sort() # 배열 A는 오름차순 정렬 수행
b.sort(reverse=True) # 배열 B는 내림차순 정렬 수행

# 첫 번재 인덱스부터 확인하며, 두 배열의 원소를 최대 k번 비교
for i in range(k):
    if a[i] < b[i]:
        a[i], b[i] = b[i], a[i]
    else:
        break

print(sum(a))
#%% md
* 코드가 거의 동일한데 다른 것이라고 하면, b를 내림차순으로 정렬한 다음에 
* a[i]와 b[i]를 비교해서 바꾼 것이다. 
* 나는 둘다 오름차순으로 한 다음에 앞과 뒤를 바꾸려고 생각해서 꼬여버렸다. 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.