Skip to content

Commit c4b00a9

Browse files
committed
BOJ_11497 : 통나무 건너뛰기
1 parent ad2cd3f commit c4b00a9

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

Diff for: week1/BOJ_11497(통나무 건너뛰기).java

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import java.io.*;
2+
import java.util.*;
3+
4+
public class Main {
5+
6+
public static void main(String[] args) throws IOException {
7+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
8+
int T = Integer.parseInt(br.readLine());
9+
StringBuffer sb = new StringBuffer();
10+
for(int i=0; i<T; i++) {
11+
int N = Integer.parseInt(br.readLine());
12+
int[] arr = new int[N];
13+
StringTokenizer st = new StringTokenizer(br.readLine());
14+
for(int j=0; j<N; j++) {
15+
arr[j] = Integer.parseInt(st.nextToken());
16+
}
17+
Arrays.sort(arr);
18+
19+
Deque<Integer> q = new LinkedList<>();
20+
q.add(arr[N-1]);
21+
for(int j=N-2; j>=1; j-=2) {
22+
q.addFirst(arr[j]);
23+
q.addLast(arr[j-1]);
24+
}
25+
if(N%2 == 0) {
26+
q.addFirst(arr[0]);
27+
}
28+
29+
int answer = Math.abs(q.getFirst() - q.getLast());
30+
for(int j=0; j<N-1; j++) {
31+
int num = q.removeFirst();
32+
answer = Math.max(answer, Math.abs(num-q.getFirst()));
33+
}
34+
sb.append(answer).append('\n');
35+
}
36+
System.out.println(sb.toString());
37+
}
38+
}

0 commit comments

Comments
 (0)