합이 같은 부분집합 (total/2)==sum 과 (total-sum)==sum
451
우럭아왜우럭
작성한 질문수 18
0
안녕하세요 강사님.
합이 같은 부분집합 문제에서, 강사님께선 종료조건을
(total - sum) == sum 이걸로 주셨는데,
앞쪽에서 (total / 2) == sum 이것두 된다고하셔서 바꿔서 내봤는데 오답으로 뜨네요,,,
import java.io.*;
import java.util.StringTokenizer;
public class Main {
static int[] array;
static int n;
static int total = 0;
static boolean isFind = false;
static String answer = "NO";
public void DFS(int i, int sum) {
if (isFind) {
return;
}
if (sum > (total / 2)) {
return;
}
if (i == n) {
if ((total / 2) == sum) {
isFind = true;
answer = "YES";
}
} else {
DFS(i + 1, sum + array[i]);
DFS(i + 1, sum);
}
}
public static void main(String[] args) throws IOException {
Main main = new Main();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
n = Integer.parseInt(br.readLine());
array = new int[n];
String s = br.readLine();
StringTokenizer st = new StringTokenizer(s, " ");
for (int i = 0; i < n; i++) {
array[i] = Integer.parseInt(st.nextToken());
total += array[i];
}
main.DFS(0, 0);
System.out.println(answer);
답변 1
봉우리 문제 질문입니다
0
70
2
씨름 선수 문제에서 각 선수의 몸무게나 키가 같을 수도 있다면?
0
57
0
이 코드랑 영상 코드중에 뭐가 더 좋은 코드인가요?
0
65
0
가중치 방향 그래프에서 가중치가 0인 간선을 표현하는 방법
0
62
1
좌표 정렬 문제 이 코드가 왜 틀린지 모르겠습니다 ㅠㅠ
0
77
2
6-7 강의에서
0
43
1
6-6. 장난꾸러기 질문 있습니다.
0
39
1
강의 수강후 코딩테스트
0
99
1
answer 변수 사용 여부
0
38
1
2중 for문
1
79
2
2-11. 임시반장정하기 (Runtime Error)
0
57
1
혹시 LinkedList 같은 자료 구조들은 따로 배우지 않나요?
0
62
1
이런 풀이는 어떨까요
0
38
1
자바 스트림 방식의 효율성 질문 드립니다.
0
50
1
알고리즘 자료 구조들..
0
54
1
StringBuilder vs BufferdWriter
0
42
1
원더랜드(프림)
0
41
1
이런 코드는 어떤가요?
0
53
1
bfs 풀이
0
50
1
병합정렬
0
50
1
26강 임시반장 정하기에서 질문이 있습니다
0
36
1
이번달말에 완강 후 공부 방향
0
63
1
제가 이런 코테가 처음인데 공부방법을..ㅠ
1
100
1
20강 소수 에라토스테네스의 체 런타임 에러가 뜹니다
0
42
1





