© 2025 anveloper.dev
GitHub·LinkedIn·Contact

목차

  • 문제
  • 입력
  • 출력
  • 예제
  • 풀이
  • 코드
  • 복잡도
풀이 목록으로 돌아가기

BOJ 9076 - 점수 집계

2023-05-05
BOJ
브론즈 II
java
원본 문제 보기
구현
정렬

문제

BOJ 9076 - 점수 집계

5명의 심사위원 점수 중 최고/최저를 제외한 3개의 합을 구하라. 최고-최저 차이가 4 이상이면 "KIN"을 출력한다.

입력

테스트 케이스 수 T, 각 줄에 5개의 점수가 주어진다.

출력

각 케이스에 대해 합 또는 "KIN"을 출력한다.

예제

입력출력
2 10 8 5 7 9 10 8 5 4 924 KIN

풀이

5개 점수를 정렬한 뒤 중간 3개(인덱스 1~3)의 합을 구하고, 최고-최저 차이를 확인한다.

  1. 5개 점수를 오름차순 정렬한다
  2. score[3] - score[1] (최고-최저 중 중간값 기준)이 4 이상이면 "KIN"
  3. 아니면 score[1] + score[2] + score[3]을 출력한다

핵심 아이디어: 정렬 후 인덱스 1~3이 최고/최저를 제외한 중간 3개이다.

코드

package day499;
 
import java.util.*;
 
public class Day453BOJ9076점수집계 {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int num = sc.nextInt();
    int[] score = new int[5];
    for (int i = 0; i < num; i++) {
      for (int j = 0; j < score.length; j++) {
        score[j] = sc.nextInt();
      }
      Arrays.sort(score);
      if (score[3] - score[1] >= 4) {
        System.out.println("KIN");
      } else
        System.out.println(score[1] + score[2] + score[3]);
    }
    sc.close();
  }
}

복잡도

  • 시간: O(T) - 고정 5개 정렬
  • 공간: O(1)