Algorithm
- 이진 탐색(Binary-Search)
- bisect (module)
bisect_left(a, x): a 배열에서 x 값 이상이 처음 나타나는 위치의 인덱스를 반환합니다. x 값이 배열에 없으면 x보다 큰 첫 번째 원소의 인덱스를 반환합니다. 배열 내 모든 원소가 x보다 작으면 배열의 길이를 반환합니다.
bisect_right(a, x): a 배열에서 x 값보다 큰 값이 처음 나타나는 위치의 인덱스를 반환합니다. x 값이 배열에 없으면 x보다 큰 첫 번째 원소의 인덱스를 반환합니다. 배열 내 모든 원소가 x 이하면 배열의 길이를 반환합니다.
Datastructure
- collections(module)
- deque(class)
- deque.append()
- deque.popleft()
내장함수: 자주 사용되고, 필수적인 기능 제공
- sum() O(n)
- min() O(n)
- max() O(n)
- eval() 수 반환 O(n)
- sorted( key=lambda , reverse=,) O(nlogn)
- ord('a)
- chr(97)
- isdigit()
- isalpha()
- bin(2)
- oct(8)
- hrx(16)
itertools(module): 반복되는 형태의 데이터를 처리하기에 유용. 특히 순열과 조합
- permutations(list, r) 리스트에서 r개를 골라 순열을 만드는 경우, 반환 튜플
- combinstations(list, r) 리스트에서 r개를 골라 조합을 만드는 경우, 반환 튜플
- product(list, repeat=r) 중복을 허용하는 r개를 골라 순열을 만드는 경우, 반환 튜플
- combinations_with_replacement(list,r) 중복을 허용하는 r개를 골라 조합을 만드는 경우, 반환 튜플
heqpq: 힙자료구조 제공. 일반적으로 우선순위 큐의 구현체로사용
bisect: 이진 탐색 기능 제공
collections(module): 덱(deque), 카운터(Counter) 등 유용한 자료구조 포함
- Counter (iterable) 몇 번 등장했는지 횟수 반환 반환,키-값 형태의 딕셔너리와 유사한 카우터 객체
- Counter.elements() 키값을 순서대로 반환
- Counter.most_common(n) 가장 많이 나온 키-값 쌍부터 n번째까지를 리스트로 반환합니다
-defaultdict(), int또는 list를 활용. 초기값이 없는 dict의 key에러를 없앰
math: 필수적인 수학기능 제공.팩토리얼,제곱근,최대공약후(GCD),삼각함수등