본문 바로가기
Pythonic

[파이썬을 파이썬답게] 순열과 조합

by YGSEO 2021. 3. 8.
728x90
from itertools import permutations
def solution(mylist):
    return list(permutations(sorted(mylist)))

 

def permute(arr):
    result = [arr[:]]
    c = [0] * len(arr)
    i = 0
    while i < len(arr):
        if c[i] < i:
            if i % 2 == 0:
                arr[0], arr[i] = arr[i], arr[0]
            else:
                arr[c[i]], arr[i] = arr[i], arr[c[i]]
            result.append(arr[:])
            c[i] += 1
            i = 0
        else:
            c[i] = 0
            i += 1
    return result

 

from itertools import permutations
pool = ['A', 'B', 'C']
print(list(map(''.join, permutations(pool))))
print(list(permutations(sorted(pool))))

# output
# ['ABC', 'ACB', 'BAC', 'BCA', 'CAB', 'CBA']
# [('A', 'B', 'C'), ('A', 'C', 'B'), ('B', 'A', 'C'), ('B', 'C', 'A'), ('C', 'A', 'B'), ('C', 'B', 'A')]
728x90

댓글