파이썬 Combination
서론:
파이썬에서 조합(combination)은 매우 유용한 도구입니다. 조합은 순서에 상관없이 일부 원소를 선택하여 만들어지는 모든 경우의 수를 나타냅니다. 파이썬에서 조합을 구현하는 간단한 방법과 사용 예시를 알아보겠습니다.
본론:
1. itertools 모듈을 사용한 조합 생성
조합을 생성하기 위해 파이썬의 내장 모듈인 itertools의 combinations 함수를 사용할 수 있습니다. 이 함수는 두 개의 인자를 받아 첫 번째 인자에서 두 번째 인자 수만큼의 원소를 선택하여 가능한 모든 조합을 생성합니다.
“`python
import itertools
arr = [1, 2, 3, 4]
comb = itertools.combinations(arr, 2)
for c in comb:
print(c)
“`
위의 코드는 [1, 2, 3, 4] 리스트에서 2개의 원소를 선택하는 모든 조합을 출력하는 예시입니다. 실행 결과는 다음과 같습니다.
(1, 2)
(1, 3)
(1, 4)
(2, 3)
(2, 4)
(3, 4)
- 조합의 개수 계산
만약 조합의 개수만을 구하고 싶다면, combinations 함수를 활용하는 대신 math 모듈의 조합 계산 함수인 comb를 사용할 수 있습니다.
“`python
import math
n = 5
r = 3
comb_count = math.comb(n, r)
print(comb_count)
“`
위의 코드는 5개 중에서 3개를 선택한 조합의 개수를 출력하는 예시입니다. 실행 결과는 다음과 같습니다.
10
결론:
파이썬에서 조합을 생성하고 개수를 계산하는 방법에 대해 알아보았습니다. itertools 모듈을 사용하면 조합을 간편하게 생성할 수 있으며, math 모듈의 comb 함수를 사용하면 조합의 개수를 쉽게 계산할 수 있습니다. 조합은 파이썬에서 많이 활용되는 개념 중 하나이며, 알고리즘 문제 풀이에 유용한 도구 중 하나입니다.