절사평균과 보정평균
면접 대비시간 제한1초메모리 제한256 MB
심사위원 점수 N개와 정수 K가 주어질 때, 점수를 정렬한 뒤 양 끝에서 K개를 버린 절사평균과 그 K개를 인접한 값으로 대체한 보정평균을 각각 소수 둘째 자리까지 반올림해 출력한다.
문제
체조나 다이빙 같은 경기에서는 일부 심판이 자신이 좋아하는 선수에게는 지나치게 높은 점수를, 싫어하는 선수에게는 지나치게 낮은 점수를 주는 일이 종종 있다. 이런 점수까지 모두 포함하여 단순 평균을 내면 결과가 불공정해질 수 있다. 이를 막기 위해 절사평균과 보정평균을 사용한다.
예를 들어 심판 일곱 명이 다음과 같은 점수를 주었다고 하자.
9.3, 9.5, 9.6, 9.8, 9.1, 5.0, 9.3
이 점수들의 합은 61.6이므로 단순 평균은 8.8이다. 그러나 이 값은 한 심판이 유독 낮은 5.0을 준 탓에 크게 낮아진 것으로, 선수는 매우 불공정하다고 느낄 것이다.
위 점수를 작은 값부터 큰 값 순으로 정렬하면 다음과 같다.
5.0, 9.1, 9.3, 9.3, 9.5, 9.6, 9.8
- 절사평균(N, K): 정렬된 개의 점수에서 양쪽 끝의 점수를 각각 개씩 버리고, 남은 개의 평균을 구한다. 위 예에서 절사평균(7, 2)는 양 끝에서 두 개씩 제외한 9.3, 9.3, 9.5의 평균이므로 9.37이다.
- 보정평균(N, K): 정렬된 점수에서 양쪽 끝의 개를 버리는 대신 남은 값 중 가장 가까운 값으로 바꾼다. 즉 가장 작은 쪽 개는 번째로 작은 점수로, 가장 큰 쪽 개는 번째로 큰 점수로 대체한 뒤, 이렇게 얻은 개 전체의 평균을 구한다. 위 예에서 보정평균(7, 2)는 9.3, 9.3, 9.3, 9.3, 9.5, 9.5, 9.5의 평균이므로 9.39이다.
개의 점수와 양쪽 끝에서 제외(또는 대체)하는 개수 가 주어질 때, 절사평균(N, K)와 보정평균(N, K)를 계산하는 프로그램을 작성하시오.
입력
첫째 줄에 점수의 총 개수 과 양쪽 끝에서 제외하는 개수 가 공백을 사이에 두고 주어진다. 은 3 이상 100,000 이하의 자연수이고, 는 0 이상 이하의 정수이다.
이어지는 개의 줄에는 각 심판이 준 점수가 한 줄에 하나씩 주어진다. 각 점수는 0.0 이상 10.0 이하의 실수이며 소수점 첫째 자리까지 주어진다.
출력
첫째 줄에 절사평균(N, K)를, 둘째 줄에 보정평균(N, K)를 출력한다. 두 값 모두 소수점 셋째 자리에서 반올림하여 둘째 자리까지 나타낸다.
예를 들어 결과가 9.667이면 9.67로, 5이면 5.00으로, 5.5이면 5.50으로 출력한다.