💡풀이방안
입력받은 통나무들의 높이를 정렬한 후 재배열
재배열 방법은
ex) 2 4 5 7 9 로 예를 들어 보면
int[] arr = new int[5]
int[0] = 2, int[5-1] = 4, int[1] = 5, int[5-2] = 7 ....
=> [2 5 9 7 4] 와 같이 정렬 후 차가 가장 큰 값 선별
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(bf.readLine());
int[] anar = new int[n];
for (int i = 0 ; i < n ; i ++){
int answer = 0;
int s = Integer.parseInt(bf.readLine());
int[] arr = new int[s];
int[] tmp = new int[s];
StringTokenizer st = new StringTokenizer(bf.readLine());
for (int j = 0 ; j < s ; j++){
arr[j] = Integer.parseInt(st.nextToken());
}
Arrays.sort(arr);
int idx = 0;
int idx2 = 0;
while (idx < arr.length){
if (arr.length % 2 ==0){
tmp[idx2] = arr[idx];
tmp[arr.length-idx2-1] = arr[idx+1];
idx += 2;
idx2 += 1;
}else{
if (idx == arr.length-1) {
tmp[arr.length/2] = arr[arr.length-1];
break;
}
tmp[idx2] = arr[idx];
tmp[arr.length-idx2-1] = arr[idx+1];
idx += 2;
idx2 += 1;
}
}
System.out.println(Arrays.toString(tmp));
for (int t = 0; t < tmp.length-1; t++){
if (Math.abs(tmp[t]-tmp[t+1]) > answer) answer = Math.abs(tmp[t]-tmp[t+1]);
}
anar[i] = answer;
}
for (int i : anar){
System.out.println(i);
}
}