제4회 대학생 프로그래밍 경시대회 문제 A 점수 집계

소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import java.util.Arrays;
import java.util.Scanner;
public class Score {
private static final int NUM_REFEREE = 5; // 심판의 수
private static final int MAX_GAP = 4; // 최고점과 최저점의 차이
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int T = scan.nextInt(); // 테스트 케이스 개수
int[] N = new int[NUM_REFEREE]; // 다섯 심판이 준 점수
for(int i = 0; i < T; i++) {
for(int j = 0; j < N.length; j++) {
N[j] = scan.nextInt();
}
process(N);
}
}
public static void process(int[] n) {
// 정렬한다.
Arrays.sort(n);
// 최고점과 최저점을 제외한다.
// 나머지 최고점과 최저점의 차이가 4점 이상 나면 KIN을 출력하고
// 아니면 총점을 출력한다.
if(Math.abs(n[1] - n[3]) >= MAX_GAP) {
System.out.println("KIN");
}
else {
System.out.println(n[1] + n[2] + n[3]);
}
}
}

주절주절

최소값과 최대값은 정렬을 하면 쉽게 구할 수 있다. 다행히 자바에서는 정렬 라이브러리가 있기에 쉽게 풀 수 있었다.

Share Comments