728x90
정렬 알고리즘 | 평균 시간 복잡도 | 공간 복잡도 | 특징 |
선택 정렬 | O(N^2) | O(N) | 아이디어가 매우 간단 |
삽입 정렬 | O(N^2) | O(N) | 데이터가 거의 정렬되어 있을 때는 가장 빠름 |
퀵 정렬 | O(NlogN) | O(N) | 대부분의 경우에 가장 적합하며, 충분히 빠릅니다. |
계수 정렬 | O(N + K) | O(N + K) | 데이터의 크기가 한정되어 있는 경우에만 사용이 가능 하지만 매우 빠르게 동작 |
N, K = map(int, input().split()) # 5 3
a = list(map(int, input().split())) # 1 2 5 4 3
b = list(map(int, input().split())) # 5 5 6 6 5
for i in range(K):
if a[i] < b[i]:
a[i], b[i] = b[i], a[i]
else:
break
print(sum(a))
728x90
'코딩테스트를 위한 자료구조 알고리즘' 카테고리의 다른 글
다이나믹 프로그래밍 (0) | 2021.10.28 |
---|---|
이진 탐색(Binary Search) (0) | 2021.10.26 |
계수 정렬 (0) | 2021.10.26 |
퀵 정렬 (0) | 2021.10.26 |
삽입 정렬 알고리즘 (0) | 2021.10.26 |