728x90
https://www.acmicpc.net/problem/2309
2309번: 일곱 난쟁이
아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.
www.acmicpc.net
import java.io.*;
import java.util.Arrays;
// 일곱 난쟁이
public class _2309 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int sum = 0;
int[] arr = new int[9];
for (int i = 0; i < 9; i++) {
arr[i] = Integer.parseInt(br.readLine());
sum += arr[i];
}
Arrays.sort(arr);
// 키의 합에서 2명을 뺀 결과가 100이라는 의미 --> 그 2명만 없으면 완벽 == 가짜
int fake1 = 0, fake2 = 0;
for (int i = 0; i < 8; i++) {
for (int j = i + 1; j < 9; j++) {
if (sum - (arr[i] + arr[j]) == 100) {
fake1 = i;
fake2 = j;
break;
}
}
}
for (int i = 0; i < 9; i++) {
if (i != fake1 && i != fake2) {
bw.write(arr[i] + "\n");
}
}
bw.flush();
bw.close();
}
}
MEMO
-- 처음에 배열에 값을 저장 후 7명씩 값을 더하여 100이 되는지 확인하려고 하였으나 힘들어서 포기
-- 9명중 나머지 2명을 제거하여 7명을 찾는 방식으로 전환
!! 생각보다 어려웠던 문제 !!
728x90
728x90
'백준[baekjoon] > JAVA' 카테고리의 다른 글
백준(baekjoon) [JAVA] - 11052번: 카드 구매하기 (0) | 2023.08.13 |
---|---|
백준(baekjoon) [JAVA] - 3085번: 사탕 게임 (0) | 2023.08.10 |
백준(baekjoon) [JAVA] - 9095번: 1, 2, 3 더하기 (0) | 2023.08.05 |
백준(baekjoon) [JAVA] - 11726번: 2xn 타일링 (0) | 2023.08.03 |
백준(baekjoon) [JAVA] - 1463번: 1로 만들기 (0) | 2023.08.02 |