이렇게 될 경우 서로소임에도 판별하지 않는 경우가 생기던데..
248
작성한 질문수 73
지금의 코드의 경우 flag 제거하면
[1,3,5,7] = [6,10] / [1,5,10] = [3,6,7]
인 부분집합만 판별을 하던데요 (이 두가지 케이스만 걸림
([6,10] = [1,3,5,7] / [1,3,5,7] = [6,10]이런식으로 순서 바뀐것까지 포함해서 4가지인데 결국 2개나 마찬가지)
[1,6] = [7]
이런 케이스는 판별이 안되는데..
그렇다면 지금 코드가 완벽하지 않을수도 잇다는 생각이
드는데요
지금 코드로도 어떤 케이스든 다 판별이 가능한게 맞을까요?
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡfunction solution(arr) {
let answer = [];
let check = Array.from({length:arr.length},()=>0);
function DFS(idx) {
if(idx === arr.length) {
let temp = [];
let temp2 = [];
for(let i=0; i<check.length; ++i) {
if(check[i] === 1) temp.push(arr[i]);
else temp2.push(arr[i]);
}
let sum1 = temp.reduce((acc,v)=>{return acc + v;},0)
let sum2 = temp2.reduce((acc,v)=>{return acc + v;},0)
if(sum1 === sum2)
answer.push('YES');
}else {
check[idx] = 1;
DFS(idx+1);
check[idx] = 0;
DFS(idx+1);
}
}
DFS(0);
//* 부분집합 64개 만들기
//* 서로소인 집합을 추리기 -
//* 서로소인 집합의 합을 비교해서 같은 대상이 잇나 검색
}
let arr=[1, 3, 5, 6, 7, 10];
console.log(solution(arr));
답변 1
continue를 사용하는 이유
0
101
2
정렬 가능 여부 판단하기
0
80
2
알고리즘 학습법 관련해서 질문드립니다.
0
96
1
코드 리뷰 부탁드립니다!
0
107
1
indexOf를 사용해서 풀어보았습니다 !!
0
75
1
저는 이런식으로 구현 해보았습니다 !!
0
69
1
12,13,14 강의 소리만 나오고 검은 화면입니다
0
110
3
반복문 최소화하고 indexOf 사용해서 풀어봤습니다
0
74
1
영상 보기 전에 직접 풀어봤습니다.
0
79
1
섹션1의 17번문제 이 풀이로 풀어도 될까요?
0
141
2
정규표현식으로 처리해도 상관없나요 ?
0
127
2
3칸씩 건너뛸 수 있을 경우
0
132
2
강의에 대해 질문있습니다.
0
144
2
Object와 Set을 이용해 풀어봤습니다.
0
128
2
이렇게 해도 되나요?
0
107
2
선생님 중복 단어나 중복관련 문제들은 set을 이용하면 좋을것 같습니다.
0
149
2
이렇게 풀어도 괜찮을까요?
0
145
1
이렇게 풀어도 괜찮을까요?
0
124
1
모든 아나그램 찾기에서 시간복잡도
0
106
1
코드리뷰 부탁드립니다.
0
138
1
for loop 탈출은 return 문으로 해도 되지 않나요?
0
134
1
투포인트알고리즘으로 풀어봤습니다.
0
147
0
코드 리뷰 부탁드립니다.
0
121
1
코드 맞게 작성한 거 아닌가여??
0
149
1





