정답
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))
배운 점:
이 문제를 통해 파이썬 문법과 sort()에 대해 알게 되었다.
sort()는 자동으로 오름차순으로 정리해주며 reverse=True를 입력하면 내림차순으로도 정렬이 가능하다.
또한 교체가 너무나도 간결하게 작성이 가능하다! 만약 a과 b값을 서로 교환하고 싶다면 이렇게 한 줄로 작성하면 된다.
a = 5
b = 10
a, b = b, a
#a = 10, b = 5
'코테 공부 > Computer Algorithm' 카테고리의 다른 글
[2024 알고리즘 특강] 가장 긴 팰린드롬 - 프로그래머스 (파이썬) (0) | 2024.05.16 |
---|---|
[2024 알고리즘 특강] 문자열/회문 (파이썬) (0) | 2024.05.16 |
[이코테] 정렬 알고리즘 코드 정리 (파이썬) (0) | 2024.04.05 |
[이코테] 구현 - 상하좌우 (파이썬) (0) | 2024.03.28 |
[이코테] 그리디 알고리즘 - 곱하기 혹은 더하기 (파이썬) (0) | 2024.03.28 |