본문 바로가기
알고리즘 문제풀이

[Backjoon] 9076번 문제 - 점수 집계

by 마스터누누 2017. 6. 29.
728x90
반응형

한국 체조협회에서는 심판의 오심을 막기 위하여 점수 집계 시스템을 고치기로 하였다. 이전에는 5명의 심판이 1점부터 10점까지 정수의 점수를 주면 최고점과 최저점을 하나씩 제외한 점수의 합을 총점으로 하였다. 이를 보완하기 위해서 최고점과 최저점을 뺀 나머지 3명 점수의 최고점과 최저점의 차이가 4점 이상 나게 되면 점수 조정을 거쳐서 다시 점수를 매기려고 한다. 점수를 집계하여 총점을 계산하거나, 점수 조정을 거쳐서 다시 점수를 매기려고 하는 경우에는 총점 대신 KIN(Keep In Negotiation)을 출력하는 프로그램을 작성하시오.


풀이


배열에 수를 받아 정렬한 후 최고점과 최저점을 제외한 합을 구한다.

그리고 그 합을 구하기 위한 최고점과 최저점의 차에대한 절대값으로 다시 점수를 매겨야하는지 판별한다.


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
import java.util.Arrays;
import java.util.Scanner;
 
/**
 * Created by homr on 2017. 6. 29..
 */
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
 
        while(T!=0){
            int[] arr = new int[5];
 
            for(int i =0; i<5; i++){
                arr[i] = sc.nextInt();
            }
 
            Arrays.sort(arr);
            int result = arr[1]+arr[2]+arr[3];
 
            if(Math.abs(arr[1]-arr[3])>=4){
                System.out.println("KIN");
            }else{
                System.out.println(result);
            }
 
            T--;
        }
    }
}
 
cs


반응형

댓글