https://www.acmicpc.net/problem/5800
5800번: 성적 통계
첫째 줄에 중덕 고등학교에 있는 반의 수 K (1 ≤ K ≤ 100)가 주어진다. 다음 K개 줄에는 각 반의 학생수 N (2 ≤ N ≤ 50)과 각 학생의 수학 성적이 주어진다. 시험 성적은 0보다 크거나 같고, 100보다
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);
int t = sc.nextInt();
for(int i = 0; i < t; i++) {
int n = sc.nextInt();
int[] arr = new int[n];
for(int j = 0; j < n; j++) {
arr[j] = sc.nextInt();
}
Arrays.sort(arr);
int max = arr[n-1];
int min = arr[0];
int gap = 0;
for(int j = n-1; j > 0; j--) {
gap = Math.max(arr[j] - arr[j-1], gap);
}
System.out.println("Class "+ (i+1));
System.out.println("Max " + max + ", " + "Min " + min + ", " + "Largest gap " + gap);
}
}
}
'백준' 카테고리의 다른 글
백준 15904 UCPC는 무엇의 약자일까?(Java) (0) | 2023.01.24 |
---|---|
백준 2628 종이자르기(Java) (0) | 2023.01.24 |
백준 1969 DNA(Java) (1) | 2023.01.23 |
백준 13241 최소공배수(Java) (0) | 2023.01.23 |
백준 1343 폴리오미노(Java) (0) | 2023.01.23 |