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)