회고
[24.05.26] 99클럽 코테 스터디 7일차 TIL - Permutation(순열), Combinations(조합)
bbooo
2024. 5. 27. 12:37
728x90
오늘의 문제는 Put Marbles in Bags라는 리트코드 문제였다. 푸는 과정에서 순열, 조합에 대해서 까먹어서 완벽히 알지 못한다는 사실을 깨달았다. 따라서 오늘의 TIL에는 순열과 조합에 대해서 정리해보려고 한다.
1. Permutation(순열)
순열이란 서로 다른 n개중 r개를 뽑아서 순서있게 배열하는 것으로, 순서가 다르면 다르다고 생각한다.
파이썬에서 순열은 itertools 패키지를 가져와 손쉽게 사용할 수 있다.
from itertools import permutations
# itertools.permutations(iterable, r = None)
perm = permutations([1,2,3],2)
print(list(perm))
# 실행결과
# [(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]
2. Combinations(조합)
조합이란 순서를 생각하지 않고 r개를 택하는 것으로, 순서를 생각하지 않고 선택만 한다.
순열과 동일하게 itertools 패키지를 활용하여 사용할 수 있다.
from itertools import combinations
# combinations(iterable, r)
comb = combinations([1,2,3],2)
print(list(comb))
# 실행결과
# [(1, 2), (1, 3), (2, 3)]
728x90