코딩테스트/코딩테스트를 위한 정리

[python] 실전에서 유용한 표준 라이브러리

#코딩 공부 2024. 9. 22. 23:46

1. 내장함수 : 기본 입출력, 정렬

1) sum()

2) min().max()

3) eval() :식을 계산해서 나타냄 

4) sorted() : 리스트 정렬

 

 

2. intertools  : 반복되는 형태의 데이터를 처리 ex)순열,조합

1) 순열 : 서로 다른 n개에서 서로 다른 r개를 택하여 일렬로 나열

from itertools import permutations

data = ['A','B','C']

result = list(permutations(data,3))
print(result)

 

2) 조합 : 서로 다른 n개에서 순서 상관없이 서로 다른 r개 선

from itertools import combinations
data = ['A','B','C']

result = list(combinations(data,2))
print(result)

3) 중복 순열 

from itertools import product

data = ['A','B','C']

result = list(permutations(data,repeat=2)) #2개 뽑는 모든 중복순열
print(result)

4)중복 조합

from itertools import combinations_with_replacement

data = ['A','B','C']

result = list(combinations_with_replacement(data,2)) #2개 뽑는 중복 조합
print(result)

 

3. heapq : 힙 자료구조를 제공 ex) 우선순위 큐 기능

4. bisect : 이진 탐색 (binary serach) 기능 제공

5. collections : 덱(deque), 카운터(counter)등 자료구조 포함

 

counter : 등장 횟수 세기, 리스트와 같은 반복 가능한 객체 주어졌을 때 내부 원소가 몇번 등장했는지 세기

from collections import counter

counter = Counter(['red','blue','red','green','blue','blue'])

print(counter['blue'])
print(counter['red'])
print(dict(counter))

6. math: 수학적 기능 제공 ex) 팩토리얼, 제곱근, 최대공약수(GCD), 삼각함수, 파이(pi)

import math
num1 = 12

num2 = 18

# 최대공약수 구하기

gcd_result = math.gcd(num1, num2)

print("두 수의 최대공약수:", gcd_result)


# 최소공배수 구하기

lcm_result = num1 * num2 // math.gcd(num1, num2)

print("두 수의 최소공배수:", lcm_result)