Efficient Coding/Python
-
파이썬의 정렬 알고리즘은 어떤 알고리즘을 사용할까?Efficient Coding/Python 2024. 4. 26. 17:49
백준 문제를 풀다가 문득 궁금한 점이 생겼다.많은 정렬 알고리즘이 있는데, list.sort() 함수와 sorted(list) 함수는 그 중에어떤 알고리즘을 사용할까? Timsort 알고리즘파이썬의 내장 함수 정렬 알고리즘은 Timsort 알고리즘을 사용한다. Timsort 알고리즘은 2002년에 Tim Peters가 파이썬 언어를 위해 개발한 알고리즘으로, 병합 정렬(Merge Sort)와 삽입 정렬(Insert Sort)을 결합하여 만들어진 하이브리드 정렬 알고리즘이다. 이 알고리즘은 미리 어느 정도 정렬된 부분이 존재하는 실생활 데이터의 특성을 고려하여 더 빠르게 작동하도록 고안된 안고리즘이며 정렬 후에도 순서가 유지되는 안정적인 정렬 방법이다. 작동 방식Timsort 알고리즘은 배열을 효율적으..
-
파이썬에서 sys.stdin.readline은 왜 사용할까?Efficient Coding/Python 2024. 3. 22. 18:57
1. sys.stdin.readline은 왜 사용할까?설명하기에 앞서 먼저 코드를 살펴보자. 1번 코드n = int(input())words = set()for _ in range(n): words.add(input())arr = list(words)arr.sort()arr.sort(key=len)for i in arr: print(i) 2번 코드import sysinput = sys.stdin.readlinen = int(input())words = set()for _ in range(n): words.add(input().rstrip())arr = list(words)arr.sort()arr.sort(key=len)f..