본문 바로가기
BEB/algorithm

11 powerSet

by ddanss 2022. 11. 9.
728x90
const powerSet = function (str) {

  let arr = str.split('').sort(); //문자열을 배열로 만들어주고 오름차순 정렬
  arr = arr.filter((element, index) => { //중복된 문자열들 없앰
    return arr.indexOf(element) === index;
  });
  
  let subsets = []; //부분집합
  const dfs = (index, sub) => {
    if(index === arr.length) { //index가 길이만큼 되면
      subsets.push(sub); //부분집합에 넣어줌
      return;
    }
    dfs(index+1, sub); //지금문자열 끝까지
    dfs(index+1, sub + arr[index]); //이 다음 수
  };
  dfs(0, ''); //처음
  return subsets.sort();

};
반응형

'BEB > algorithm' 카테고리의 다른 글

Toy15 Prime Number  (0) 2022.11.15
toy 12 treeBFS  (0) 2022.11.10
toy10 binarySearch  (0) 2022.11.08
Toy8 - largestProductOfThree  (0) 2022.11.04
백트래킹  (0) 2022.11.03

댓글