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