StringBuilder를 이용한 케이스
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer stk;
StringBuilder sb = new StringBuilder();
int n = Integer.parseInt(br.readLine());
int[] num = new int[n];
stk = new StringTokenizer(br.readLine());
for (int i = 0; i < n; i++)
num[i] = Integer.parseInt(stk.nextToken());
Arrays.sort(num);
sb.append(num[(n - 1) / 2]);
System.out.println(sb);
}
}
일반적인 방법 (배열 대신 리스트 가능)
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[] arr = new int[N];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) arr[i] = Integer.parseInt(st.nextToken());
Arrays.sort(arr);
if (N % 2 == 0) System.out.println(arr[(N / 2) - 1]);
else System.out.println(arr[(N - 1) / 2]);
}
}