Python - 순열, 조합 함수

Red_Panda·2021년 3월 15일
0

알고리즘 & 함수

목록 보기
2/4

순열, 조합 함수를 안 쓰고 풀어왔는데 이 함수들을 사용해 순열과 조합을 만들면 매우 간단하고 짧게 작성해도 풀린다는 걸 알았다. 사실, 이런 함수들은 똑똑한 사람들이 만들어 논거라 복잡도면 에서도 유리한 경우가 많다.

순열, 조합 함수 사용하는 방법

from itertools import permutations # 순열함수 import
from itertools import combinations # 조합함수 import

a=[1,2,3,4] # 먼저 순열, 조합으로 만들 리스트를 만들어준다.
a_com=[]
a_per=[]

for j in list(permutations(a,2)): # a에서 2개를 뽑아 순열을 만든다.
    a_per.append(j)
for i in list(combinations(a,2)): # a에서 2개를 뽑아 조합을 만든다.
    a_com.append(i)

print("a_per",a_per)
print("a_com",a_com)


결과는 이렇게 나오는데, 순열과 조합의 차이를 알 수 있다.
(1,2)의 경우 순열에서는 (2,1)을 다르게 취급하지만, 조합에서는 이미 있는것으로 간주해 (2,1)이 따로 나오지 않는다.

즉 원소의 순서에 따라 값이 바뀌면 순열, 원소의 순서에 따라 값이 변함 없으면 조합을 이용하면 된다!

profile
신입 개발자

0개의 댓글