1. 기본 내장 함수
1.1 abs()
절댓값을 반환합니다.
print(abs(-7)) # Output: 7
1.2 max() / min()
리스트나 튜플에서 최대값 또는 최소값을 구합니다.
numbers = [3, 5, 2, 9]
print(max(numbers)) # Output: 9
print(min(numbers)) # Output: 2
1.3 sum()
리스트나 튜플의 합계를 구합니다.
numbers = [1, 2, 3, 4]
print(sum(numbers)) # Output: 10
1.4 pow()
거듭제곱 계산.
print(pow(2, 3)) # Output: 8
1.5 round()
반올림을 수행합니다. 두 번째 인자로 소수점 자리수 설정 가능.
print(round(3.14159, 2)) # Output: 3.14
2. math 모듈
복잡한 수학 연산이 필요한 경우 math 모듈을 활용합니다.
import math
2.1 math.sqrt()
제곱근을 반환합니다.
print(math.sqrt(16)) # Output: 4.0
2.2 math.ceil() / math.floor()
- ceil: 올림
- floor: 내림
print(math.ceil(3.1)) # Output: 4
print(math.floor(3.9)) # Output: 3
2.3 math.gcd()
최대공약수를 구합니다.
print(math.gcd(48, 18)) # Output: 6
2.4 math.lcm()
최소공배수를 구합니다. (Python 3.9 이상에서 지원)
print(math.lcm(4, 6)) # Output: 12
2.5 math.factorial()
팩토리얼을 계산합니다.
print(math.factorial(5)) # Output: 120
2.6 math.log()
로그를 계산합니다. (기본값은 자연로그)
print(math.log(8, 2)) # Output: 3.0 (밑이 2인 로그)
2.7 math.comb() / math.perm()
comb(n, r): 조합
𝑛
𝐶
𝑟
nC
r
perm(n, r): 순열
𝑛
𝑃
𝑟
nP
r
(Python 3.8 이상에서 지원)
print(math.comb(5, 2)) # Output: 10
print(math.perm(5, 2)) # Output: 20
2.8 math.pi, math.e
math.pi: 원주율
𝜋
π
math.e: 자연로그의 밑
𝑒
e
python
코드 복사
print(math.pi) # Output: 3.141592653589793
print(math.e) # Output: 2.718281828459045
3. itertools 모듈
조합(combination), 순열(permutation) 문제에서 유용합니다.
3.1 itertools.combinations()
조합을 생성합니다.
from itertools import combinations
data = [1, 2, 3]
for comb in combinations(data, 2):
print(comb)
# Output:
# (1, 2)
# (1, 3)
# (2, 3)
3.2 itertools.permutations()
순열을 생성합니다.
from itertools import permutations
data = [1, 2, 3]
for perm in permutations(data, 2):
print(perm)
# Output:
# (1, 2)
# (1, 3)
# (2, 1)
# (2, 3)
# (3, 1)
# (3, 2)
4. functools 모듈
4.1 functools.reduce()
리스트에 누적 연산을 수행합니다. (곱셈 등)
from functools import reduce
data = [1, 2, 3, 4]
result = reduce(lambda x, y: x * y, data)
print(result) # Output: 24
5. random 모듈
랜덤 숫자나 데이터 선택이 필요한 경우.
import random
print(random.randint(1, 10)) # 1과 10 사이의 랜덤 정수
print(random.choice([1, 2, 3])) # 리스트에서 랜덤 선택
반응형
'CS > 알고리즘' 카테고리의 다른 글
[Algorithm] 코딩테스트를 위한 기본 알고리즘 정리 (0) | 2025.01.04 |
---|---|
[Alogorithm] 알고리즘 공부를 시작하는 올바른 방법 (4) | 2023.11.27 |
[DataStructure] 자바스크립트로 구현하는 '트리' 자료구조 (1) 이진트리 (0) | 2020.12.02 |
[DataStructure] 자바스크립트로 구현하는 '연결리스트(Linkedlist)' 자료구조 (0) | 2020.11.24 |
[DataStructure] 자바스크립트로 구현하는 '스택(Stack)' 자료구조 (0) | 2020.11.23 |
댓글