https://www.acmicpc.net/problem/6986

코드설명

정렬(Sort) 을 활용합니다.

 

코드

package Main;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.HashSet;
import java.util.StringTokenizer;
public class Main {
private static int N, M, C, T, K;
private static int answer = 0;
private static double[] arr;
private static StringBuilder sb = new StringBuilder();
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
K = Integer.parseInt(st.nextToken());
arr = new double[N];
for(int i=0;i<N;i++) {
st = new StringTokenizer(br.readLine());
arr[i] = Double.parseDouble(st.nextToken());
}
Arrays.sort(arr);
double sum = 0;
for(int i=K;i<N-K;i++) {
sum += arr[i];
}
System.out.println(String.format("%.2f", sum/(N-K-K)));
for(int i=0;i<K;i++) {
arr[i] = arr[K];
}
for(int i=N-1; i>=N-K; i--) {
arr[i] = arr[N-K-1];
}
sum = 0;
for(int i=0; i<N; i++) {
sum += arr[i];
}
System.out.println(String.format("%.2f", sum/(N)));
}
}

+ Recent posts