[파이썬] bisect 라이브러리
bisect 라이브러리를 이용하면 이진 탐색을 쉽게 구현할 수 있다. bisect 라이브러리는 정렬된 배열에서 특정 원소를 찾을 때 매우 효과적이다. bisect 내부 함수 bisect_left(a,x) : 리스트 a에서 데이터 x를 삽입할 가장 왼쪽 인덱스를 리턴한다. bisect_right(a,x) : 리스트 a에서 데이터 x를 삽입할 가장 오른쪽 인덱스를 리턴한다. 이 두 함수는 시간 복잡도 O(logN)으로 동작한다. 사용 예: from bisect import bisect_left, bisect_right a = [1,2,4,4,8] x = 4 print(bisect_left(a,x), bisect_right(a,x)) # 2 4
2021. 9. 26.
[파이썬] itertools 라이브러리
itertools는 파이썬에서 반복되는 데이터를 처리하는 기능을 포함하는 라이브러리다. itertools 중에서 유용하게 사용할 수 있는 클래스에 대하여 알아본다. 1. permutations iterable 객체에서 r개의 데이터를 뽑아 일렬로 나열하는 모든 경우를 계산한다. 사용 예: from itertools import permutations data = [ 1,2,3] print(list(permutations(data,2))) #[(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)] 2. product iterable 객체에서 중복을 허용하여 r개의 데이터를 뽑아 일렬로 나열하는 모든 경우를 계산한다. 사용 예: from itertools import produ..
2021. 9. 26.