CODING TEST/ALGORITHM - 개념

파이썬의 정렬 라이브러리 : sorted, sort

쏘니(SSony) 2023. 1. 9. 19:29

[Python] 정렬 알고리즘 정리 : 선택 / 삽입 / 퀵 / 계수 정렬 (tistory.com)

 

[Python] 정렬 알고리즘 정리 : 선택 / 삽입 / 퀵 / 계수 정렬

1. 선택 정렬 : 가장 작은 데이터를 '선택'한 뒤 가장 앞으로 보내기 array = [7, 6, 3, 5] for i in range(len(array)): min_ind = i # 비교 대상의 값을 min_ind로 설정 for j in range(i+1, len(array)): if array[min_ind] > array[j]

ss-doubt.tistory.com

 

기본적인 정렬 알고리즘의 원리는 위 포스팅에 정리했다.

그러나 코딩테스트에는 직접 구현이 아닌 라이브러리를 이용한 정렬을 사용하는 경우도 많다.


 

- 표준 라이브러리는 대부분 병합정렬(merge sort) or 퀵 정렬(quick sort)에 기반한다.
- 시간 복잡도:  O(NlogN)

 

1. sorted

- 입력값을 정렬된 결과를 반환
- 기본 오름차순 정렬

array = [4, 6, 7, 2, 8, 1, 3, 10]
result = sorted(array)
print(result)

- "reverse = True"를 통해 내림차순 정렬

array = [4, 6, 7, 2, 8, 1, 3, 10]
result = sorted(array, reverse=True)
print(result)

 

2. sort

 - 리스트 객체의 내장 함수
 - 리스트 내부 원소가 정렬됨

# 오름차순 정렬 (default)
array = [4, 6, 7, 2, 8, 1, 3, 10]
array.sort()
print(array)
# 내림차순 정렬
array = [4, 6, 7, 2, 8, 1, 3, 10]
array.sort(reverse=True)
print(array)