알고리즘과 자료구조

itertools (순열과 조합)

Mecodata 2022. 10. 31. 19:37

itertools 

- 파이썬에서 반복되는 데이터를 처리하는 기능을 포함하고 있는 라이브러리

- 코테에서 유용한 메소드는 순열 함수인 permutations과 조합 함수인 combinations

- import itertools

- 시간복잡도 = O(N!)

 

주요 메서드

- 주요 메서드 모두 리스트를 이용하며 결과값도 리스트로 반환함

- permutations(리스트, 숫자) = 해당 리스트에서 지정한 숫자만큼 데이터를 뽑아(중복 X) 일렬로 나열하는 모든 경우를 반환 (순열)

- combinations(리스트, 숫자) = 해당 리스트에서 지정한 숫자만큼 데이터를 뽑아(중복 X) 순서를 고려하지 않고 나열하는 모든 경우를 반환 (조합)

- product(리스트, 숫자) = 데이터의 중복이 허용되는 permutations

- combinations_with_replacement(리스트, 숫자) = 데이터의 중복이 허용되는 combination