백준

백준 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);
  }
}