https://www.acmicpc.net/problem/2548
정렬했을 때, 모든 원소와 차이를 최소로 하는 숫자는 항상 중앙에 위치한다.
처음에 중앙 인덱스를 다음과 같이 표현했다.
짝수 일 때 : (a.len / 2) - 1
홀수 일 때 : a.len / 2
ac이후 다른 코드에서, 분기처리할 필요 없음을 알게 되었다.
짝/홀수 일 때 : (a.len -1) / 2
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
br.readLine();
int[] a = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
Arrays.sort(a);
System.out.println(a[(a.length - 1) / 2]);
}
}
'[백준] PS > Java [실랜디]' 카테고리의 다른 글
[백준 3107] IPv6 - JAVA (0) | 2025.04.29 |
---|---|
[백준 2597] 줄자접기 - JAVA (0) | 2025.04.28 |
[백준 2713] 규현이의 사랑을 담은 문자메시지 - JAVA (1) | 2025.04.28 |
[백준 2716] 원숭이 매달기 - JAVA (0) | 2025.04.28 |
[백준 2578] 빙고 - JAVA (0) | 2025.04.26 |