[백준] 2309번 일곱 난쟁이 자바(Java)
by coco3o반응형
https://www.acmicpc.net/problem/2309
2309번: 일곱 난쟁이
아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.
www.acmicpc.net

정답 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Main {
static int[] N = new int[9];
static int sum = 0;
static int fake1 = 0, fake2 = 0;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < N.length; i++) {
N[i] = Integer.parseInt(br.readLine());
sum += N[i]; // 난쟁이 키의 합을 계산
}
Arrays.sort(N); // 오름차순 정렬
for (int i = 0; i < N.length; i++) { // 핵심
for (int j = i + 1; j < N.length; j++) {
if (sum - N[i] - N[j] == 100) {
fake1 = N[i];
fake2 = N[j];
}
}
}
for (int i = 0; i < N.length; i++) {
if(fake1 == N[i] || fake2 == N[i]) continue;
System.out.println(N[i]);
}
}
}
설명
1. 난쟁이 9명의 키의 합을 sum에 저장한다.
2. 난쟁이의 키를 오름차순으로 정렬한다.
3. sum - N[i] - N[j] 가 100이라면, N[i]와 N[j]는 가짜 난쟁이일 것이다.
4. 가짜 난쟁이를 제외하고 출력한다.
반응형
'🏅Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 2167번 2차원 배열의 합 자바(Java) (0) | 2022.02.16 |
---|---|
[백준] 1032번 명령 프롬프트 자바(Java) (0) | 2022.02.16 |
[백준] 1259번 팰린드롬수 자바(Java) (2) | 2022.02.15 |
[백준] 1924번 2007년 자바(Java) (0) | 2022.02.12 |
[백준] 2839번 설탕 배달 자바(Java) (0) | 2022.02.11 |
블로그의 정보
슬기로운 개발생활
coco3o