ALGORITHM/BOJ

[BOJ] 18110 solved.ac

0298 2023. 6. 13. 22:25

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

 

18110번: solved.ac

5명의 15%는 0.75명으로, 이를 반올림하면 1명이다. 따라서 solved.ac는 가장 높은 난이도 의견과 가장 낮은 난이도 의견을 하나씩 제외하고, {5, 5, 7}에 대한 평균으로 문제 난이도를 결정한다.

www.acmicpc.net

2023-06-13


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.io.*;
import java.util.Arrays;
import java.util.StringTokenizer;
 
public class Main18110 {
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(bf.readLine());
        int n = Integer.parseInt(st.nextToken());
        int v = (int)Math.round(n*0.15);
 
        int[] arr = new int[n];
        for(int i = 0; i < n; i++) {
            st = new StringTokenizer(bf.readLine());
            arr[i] = Integer.parseInt(st.nextToken());
        }
 
        Arrays.sort(arr);
 
        int sum = 0;
        for(int i = v; i < n-v; i++) sum += arr[i];
 
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        bw.write(Math.round(sum/(double)(n-v*2))+" ");
        bw.flush();
        bw.close();
    }
}
 
cs

 

#문제풀이

Scanner 쓰면 시간 초과 난다.

BufferedReader, BufferedWriter 사용