https://www.acmicpc.net/problem/18110
import java.util.*;
import java.io.*;
class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
List<Integer> list = new ArrayList<>();
for (int i = 0; i < N; i++) {
list.add(Integer.parseInt(br.readLine()));
}
Collections.sort(list);
int delete = (int) Math.round(N * 0.15);
int sum = 0;
for (int i = delete; i < N - delete; i++) {
sum += list.get(i);
}
double avg = (double) sum / (N - (delete * 2));
System.out.println(Math.round(avg));
}
}
Math.round
함수를 통해 반올림을 하기 전에 반드시 강제 형변환을 해주어야 한다./
연산을 수행한 후에 int
형을 그대로 사용하면 소수점 이하의 숫자가 버려지기 때문에, 반드시 강제 형변환 후에 반올림을 수행해야 한다.