[Algorythm][JS][DFS] 부분집합 구하기

GY·2021년 12월 26일
0

알고리즘 문제 풀이

목록 보기
81/92
post-thumbnail

문제

자연수 N이 주어지면 1부터 N까지의 원소를 갖는 집합의 부분집합을 모두 출력하세요


풀이

function solution(n) {
  let answer=[];
  let ch = Array.from({length: n + 1}, () => 0)
  function DFS(L) {
    if(L === n+1) {
      let tmp="";
      for(let i = 1; i <= n; i++) {
        if(ch[i] === 1) tmp += (i + " ");
      }
      if(tmp.length > 0) answer.push(tmp.trim());
    } else {
      ch[L] = 1;
      DFS(L + 1);
      ch[L] = 0;
      DFS(L + 1);
    }
  }
  DFS(1);
  return answer;
}

solution(3)



Reference

  • 인프런 - 자바스크립트 알고리즘 문제풀이(김태원)
profile
Why?에서 시작해 How를 찾는 과정을 좋아합니다. 그 고민과 성장의 과정을 꾸준히 기록하고자 합니다.

0개의 댓글