← 실전 문제

버림 없이 평균 비교하기

C++디버깅

대상별 평가 점수의 최솟값 한 개와 최댓값 한 개를 제외하고 남은 점수의 평균을 비교해요. 같은 최솟값·최댓값이 여러 번 나오더라도 각각 한 개씩만 제외해요. 평균을 버림하거나 반올림하지 않아요.

int solution(vector<vector<int>> scores)가 평균이 가장 큰 대상의 번호를 반환하도록 잘못된 한 줄을 고쳐 주세요. 번호는 입력 행의 순서대로 1부터 시작해요. 정확한 평균이 같으면 더 앞선 대상을 선택해요.

대상 수는 120, 각 행의 평가 수는 310으로 행마다 다를 수 있어요. 각 점수는 0~100이에요. 빈 배열·빈 행은 없고 반환형은 int예요.

예시 1: scores = {{0, 1, 2, 9}, {0, 1, 2, 2, 9}} → 2. 남은 평균은 3/2와 5/3으로 둘째가 더 커요.

예시 2: scores = {{2, 4, 6}, {0, 3, 5, 8}} → 1. 남은 평균이 각각 4와 8/2=4로 같아 앞선 대상을 골라요.

실행 입력은 N, 다음 N줄에 해당 행의 길이 M과 점수 M개예요. main은 함수 호출용 하네스이며 대상 번호를 출력해요.

예시 입력

2
4 0 1 2 9
5 0 1 2 2 9

예상 결과

2

예시 입력

2
3 2 4 6
4 0 3 5 8

예상 결과

1
핵심 개념
  • function-design: 보조 함수의 계약과 결과 조합을 확인해요.
  • basic-sort-search: 비교 기준과 동률을 정확하게 적용해요.
  • array-2d: 행·열과 이동 가능한 칸을 구분해요.

코드 작성과 채점은 로그인 후 이용해요

로그인하고 풀기