반응형
이 포스팅은 파이썬 알고리즘 인터뷰를 공부하면서 정리한 내용입니다.
출처 : 파이썬 알고리즘 인터뷰
코드 출처 : 파이썬 알고리즘 인터뷰 깃허브
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
반응형
'Python > 알고리즘' 카테고리의 다른 글
[파이썬 알고리즘 인터뷰] 37. 부분 집합 (0) | 2021.03.13 |
---|---|
[파이썬 알고리즘 인터뷰] 36. 조합의 합 (0) | 2021.03.13 |
[파이썬 알고리즘 인터뷰] 33. 전화 번호 문자 조합 (0) | 2021.03.09 |
[파이썬 알고리즘 인터뷰] 32. 섬의 개수 (0) | 2021.03.09 |
[자료구조] DFS(깊이 우선 탐색), BFS(너비 우선 탐색) 구현 (0) | 2021.03.06 |