본문으로 건너뛰기
풀이 목록으로 돌아가기

BOJ 4974 - ICPC Score Totalizer Software

2026-03-27
BOJ
브론즈 II
cpp
원본 문제 보기
수학
구현

문제

BOJ 4974 - ICPC Score Totalizer Software

n명의 심사위원 점수에서 최고점과 최저점을 제외한 나머지의 평균(내림)을 출력한다. n=0이면 종료.

풀이

입력을 받으면서 합계, 최솟값, 최댓값을 동시에 추적하고, (sum - min - max) / (n - 2) 정수 나눗셈으로 계산한다.

코드

#include <iostream>
#include <vector>
#include <algorithm>
 
using namespace std;
 
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
 
  int n;
  while (cin >> n && n != 0) {
    int sum = 0;
    int min_score = 1001;
    int max_score = -1;
 
    for (int i = 0; i < n; ++i) {
      int score;
      cin >> score;
      sum += score;
      if (score < min_score) min_score = score;
      if (score > max_score) max_score = score;
    }
 
    int result = (sum - min_score - max_score) / (n - 2);
    cout << result << "\n";
  }
 
  return 0;
}

복잡도

  • 시간: O(n)
  • 공간: O(1)

최근 글