다른 분들도 그렇겠지만 그렇게 어려운 문제는 전혀 아니다.
최댓값,최솟값 2개를 뺀 평균을 구하는 문제이다.
그럼에도 D2 중에서 가장 오답률이 높은 이유는 아마도 소수 처리에 대한 부분을 반드시 생각해야하기 때문이다.
소수를 완벽하게 처리하지 못해서 이것저것 해보다가 round를 사용했고 그래도 잘 안풀려서 서칭을 해보았다.
결론은 나눗셈을 할 때 8로 나누는 게 아니고 8.0으로 나누어야한다!
왜냐하면 8은 정수 나눗셈이기 때문에 소수점자리가 남더라도 버려버린다!
import java.util.*;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int T;
T=sc.nextInt();
for(int test_case = 1; test_case <= T; test_case++)
{
int min = 10000;
int max = 1;
int sum = 0;
for(int i = 0 ; i < 10; i++){
int num = sc.nextInt();
max = Math.max(num, max);
min = Math.min(num, min);
sum += num;
}
sum -= max;
sum -= min;
sum = (int)Math.round(sum/8.0);
System.out.println("#" + test_case + " " + sum );
}
}
}