Python/알고리즘

[파이썬 알고리즘 인터뷰] 34. 순열

AI 꿈나무 2021. 3. 9. 16:24
반응형

 

 이 포스팅은 파이썬 알고리즘 인터뷰를 공부하면서 정리한 내용입니다.

 

 출처 : 파이썬 알고리즘 인터뷰

 코드 출처 : 파이썬 알고리즘 인터뷰 깃허브

 


34. 순열

leetcode 46. Permutations 문제입니다.

leetcode.com/problems/permutations/

 

 

풀이

 dfs를 활용해서 순열을 생성하는 풀이입니다.

def permute(self, nums):
    results = []
    prev_elements = []

    def dfs(elements):
        # 리프 노드일 때 결과 추가
        if len(elements) == 0:
            results.append(prev_elements[:])

        # 순열 생성 재귀 호출
        for e in elements:
            next_elements = elements[:]
            next_elements.remove(e)

            prev_elements.append(e)
            dfs(next_elements)
            prev_elements.pop()

    dfs(nums)
    return results
반응형