[문제] 모든 부분 집합을 리턴하라 · 입출력 예 num_list return [1, 2, 3] [[3], [1], [2], [1, 2, 3], [1, 3], [2, 3], [1, 2], []] [풀이] 입력값으로 트리를 구성하고, 트리를 DFS하는 문제로 풀이할 수 있다. 경로 (path)를 만들어 나가면서, 인덱스를 1씩 증가하는 형태로 깊이 우선 탐색을 진행하였다. 별도의 종료 조건이 없기 때문에, 탐색이 끝나면 저절로 함수가 종료된다. 입력받은 숫자 배열로 만들 수 있는 모든 부분 집합들이 정답이기 떄문에, dfs를 진행할 때마다 결과 배열에 값을 추가하고, 이를 반환하는 형태로 문제를 풀었다.