백준
백준 18310 안테나(Java)
Park DJ
2023. 2. 4. 22:06
https://www.acmicpc.net/problem/18310
18310번: 안테나
첫째 줄에 집의 수 N이 자연수로 주어진다. (1≤N≤200,000) 둘째 줄에 N채의 집에 위치가 공백을 기준으로 구분되어 1이상 100,000이하의 자연수로 주어진다.
www.acmicpc.net
해석 및 팁
이 문제의 핵심은 중앙값을 찾는 것입니다. 문제자체는 어렵지 않지만 답을 생각하기가 쉽지 않습니다. 주어진수가 짝수인지 홀수인지 판별 후 중앙값을 출력해 주면 됩니다.
Java 코드
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
int n = sc.nextInt();
long[] arr = new long[n + 1];
for(int i = 1; i <= n; i++) arr[i] = sc.nextInt();
Arrays.sort(arr);
if(n % 2 == 0) sb.append(arr[n/2]);
else sb.append(arr[n / 2 + 1]);
System.out.println(sb);
}
}