728x90
itertools : 파이썬에서 반복되는 형태의 데이터를 처리하기 위한 유용한 기능들을 제공합니다.
특히 순열과 조합 라이브러리는 코테에서 자주 사용됩니다.
heapq : 힙 자료구조를 제공합니다.
일반적으로 우선순위 큐 기능을 구현하기 위해 사용됩니다.
bisect : 이진 탐색 기능을 제공합니다.
collections : 덱, 카운터 등의 유용한 자료구조를 포함합니다.
math : 필수적인 수학적 기능을 제공합니다.
팩토리얼, 제곱근, 최대공약수, 삼각함수 관련 함수부터 파이와 같은 상수를 포함합니다.
# 기본적인 내장함수들
result = sum([1,2,3,4,5])
print(result)
min_result = min(7,3,5,2)
max_result = max(7,3,5,2)
print(min_result, max_result)
result = eval("(3+5)*7")
print(result)
result = sorted([9,1,8,5,4])
reverse_result = sorted([9,1,8,5,4], reverse = True)
print(result)
print(reverse_result)
# print 결과
15
2 7
56
[1,4,5,8,9]
[9,8,5,4,1]
# 순열
from itertools import permutations
data = ['A', 'B', 'C']
# 모든 순열 구하기
result = list(permutations(data, 3))
print(result)
# print 결과
[('A','B','C'), ('A','C','B') ...]
# 조합
from itertools import combinations
data = ['A', 'B', 'C']
# 2개를 뽑는 모든 조합 구하기
result = list(combinations(data,2))
print(result)
# print 결과
[('A','B'), ('A','C'),('B','C')]
# 중복 순열
from itertools import product
data = ['A', 'B', 'C']
# 2개 뽑는 모든 순열 구하기, 중복 허용
result = list(product(data, repeat = 2))
print(result)
# 중복 조합
from itertools import combinations_with_replacement
data = ['A', 'B', 'C']
# 2개를 뽑는 모든 조합 구하기, 중복 허용
result = list(combinations_with_replacement(data,2))
print(result)
counter
- 등장 횟수를 세는 기능을 제공합니다.
- 리스트와 같은 반복 가능한 객체가 주어졌을 때, 내부의 원소가 몇번 등장했는지를 알려줍니다.
# Counter
from collections import Counter
counter = Counter(['red', 'blue','red','green','blue','blue'])
print(counter['blue'])
print(counter['green'])
print(dict(counter))
# print 결과
3
1
{'red': 2, 'blue': 3, 'green': 1}
최대 공약수와 최소 공배수
import math
def lcm(a,b):
return a*b // math.gcd(a,b)
a = 21
b = 14
print(math.gcd(21,14))
print(lcm(21,14))
# print 결과
7
42
728x90
'Computer Science > Python' 카테고리의 다른 글
[Python] 파이썬의 기본적인 입력 방식 for 코딩 테스트 (0) | 2021.11.25 |
---|---|
[Python] reverse()와 sort(reverse=True) 차이 (0) | 2021.11.24 |
[Python] 함수 (0) | 2021.11.23 |
[Python] 반복문 (0) | 2021.11.23 |
[Python] 조건문 (0) | 2021.11.23 |
댓글