https://www.acmicpc.net/problem/3040
2309번 문제랑 완전 똑같은데 입력 숫자들이 한가지 답이 나오는 경우로 답이 나왔다고 바로 종료할 필요가 없다.
public class Boj3040_백설공주와일곱난쟁이 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
/*
[idea]
먼저 숫자를 배열에 집어넣고, 9개의 합을 구한다.
9개의 합에서 2개를 뺀 결과가 100인 경우를 찾고
그 2개를 제외한 7개를 오름차순 정렬한다.
*/
int n = 9;
int[] arr = new int[9];
int sum = 0;
for (int i = 0; i < 9; i++) {
arr[i] = Integer.parseInt(br.readLine());
sum += arr[i];
}
Arrays.sort(arr);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
for (int j = i+1; j < n; j++) {
if (sum - arr[i] - arr[j] == 100) {
for (int k = 0; k < 9; k++) {
if (k == i || k == j) {
continue;
}
sb.append(arr[k]+"\n");
}
}
// 항상 답이 유일한 경우만 입력으로 주어지므로 답이 나오고 종료할 필요는 없지만
// 다른 답이 나올 수 있는 경우 System.exit(0);으로 바로 종료시킨다. 출력도 한번에 출력이 아닌 매번 출력하는 식으로 한다.
// 그래도 7번 한다.
}
}
System.out.println(sb);
}
}
'알고리즘 > 백준' 카테고리의 다른 글
백준 10807 개수 세기 (0) | 2022.02.24 |
---|---|
백준 5597 과제 안 내신 분..? (0) | 2022.02.24 |
백준 1372 2진수 8진수 (0) | 2022.02.22 |
백준 7567 그릇 (0) | 2022.02.22 |
백준 1076 저항 (0) | 2022.02.21 |