각 반의 학생들의 성적을 리스트에 넣고 내림차순으로 정렬해줍니다.
그리고 첫 번째 값부터 시작해 자신의 뒤에 있는 값과 점수 차이를 구해 가장 큰 점수 차이를 갱신시켜줍니다.
각 반의 최고 점수, 최소 점수, 가장 큰 점수 차이를 StringBuffer 에 추가하고
마지막에 한꺼번에 출력합니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.StringTokenizer;
public class p5800 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuffer sb = new StringBuffer();
ArrayList<Integer> ar;
int K = Integer.parseInt(br.readLine());
StringTokenizer st;
int N;
for(int i=0; i<K; i++) {
st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
ar = new ArrayList<>();
for(int j=0; j<N; j++) {
ar.add(Integer.parseInt(st.nextToken()));
}
Collections.sort(ar, Comparator.reverseOrder());
int differ = Integer.MIN_VALUE;
for(int k=0; k<ar.size()-1; k++) {
differ = Math.max(differ, ar.get(k) - ar.get(k+1));
}
sb.append("Class " + (i+1) + "\n").append("Max " + ar.get(0))
.append(", Min " + ar.get(ar.size()-1)).append(", Largest gap " + differ + '\n');
}
System.out.println(sb);
}
}
'Baekjoon' 카테고리의 다른 글
[백준] 10569번 - 다면체 - Java (0) | 2022.12.11 |
---|---|
[백준] 11866번 - 요세푸스 문제 0 - Java (0) | 2022.12.11 |
[백준] 11931번 - 수 정렬하기 4 - Java (0) | 2022.12.11 |
[준] 5576번 -콘테스트 - Java (0) | 2022.12.11 |
[백준] 1766번 - 문제집 - Java (0) | 2022.12.11 |
댓글