문제 풀이 및 개발 공간

[백준] 2548번 대표 자연수 문제! (silver 3 본문

백준공부/java

[백준] 2548번 대표 자연수 문제! (silver 3

gomduri43 2023. 4. 7. 01:58

import java.io.*;
import java.util.*;
public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
        ArrayList<Integer> arr=new ArrayList<>();
        int n=Integer.parseInt(br.readLine());
        int[] accu=new int[n];
        StringTokenizer st=new StringTokenizer(br.readLine());
        int sum=0;
        for(int i=0; i<n; i++){
            int num=Integer.parseInt(st.nextToken());
            sum+=num;
            arr.add(num);
        }
        Collections.sort(arr);
        int min=sum-arr.get(0)*n;
        int answer=arr.get(0);
        accu[0]=answer;
        for(int i=1; i<n; i++){
            int temp=0;
            temp=sum-accu[i-1]-arr.get(i)*(n-i);
            temp+=Math.abs(accu[i-1]-arr.get(i)*(i));
            accu[i]=accu[i-1]+arr.get(i);
            if(temp<min){
                min=temp;
                answer=arr.get(i);
            }
        }
        bw.write(answer+"");
        bw.flush();



    }
}