728x90
https://www.acmicpc.net/problem/2309
2309번: 일곱 난쟁이
아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.
www.acmicpc.net
arr배열에 9난쟁이의 키를 입력받고, 모든 값을 더해서 총합을 계산해 둔다
이중for문을 이용해서
두 난쟁이를 선택,
총합에서 두 난쟁이 키만큼 뺀 값이 100인지 확인한다.
해당 두 난쟁이만 제외하고 오름차순으로 출력한다.
(두 난쟁이에 해당하는 키를 -1로 만들고 정렬한 후 2번인덱스부터 출력하면 된다)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class P2309 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] arr = new int[9];
int count = 0;
for (int i = 0; i < 9; i++) {
arr[i] = Integer.parseInt(br.readLine());
count += arr[i];
}
for (int i = 0; i < 8; i++) {
for (int j = i + 1; j < 9; j++) {
if (count - (arr[i] + arr[j]) == 100) {
arr[i] = arr[j] = -1;
break;
}
}
if (arr[i] == -1)
break;
}
Arrays.sort(arr);
for (int i = 0; i < 9; i++) {
System.out.println(arr[i]);
}
}
}
728x90
'코딩 > 백준-자바' 카테고리의 다른 글
[자바] 백준 1987번: 알파벳 (0) | 2023.01.13 |
---|---|
[자바] 백준 10819번: 차이를 최대로 (0) | 2023.01.12 |
[자바] 백준 1213번: 팰린드롬 만들기 (0) | 2023.01.10 |
[자바] 백준 7562번: 나이트의 이동 (0) | 2023.01.09 |
[자바] 8979번: 올림픽 (0) | 2023.01.09 |
댓글