원본 : www.acmicpc.net/problem/4344
4344번: 평균은 넘겠지
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
www.acmicpc.net
풀이
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(reader.readLine());
String str[] = new String[n];
for (int i = 0; i < n; i++) {
str[i] = reader.readLine();
}
for (int i = 0; i < n; i++) {
writer.write(String.format("%.3f", calculate(str[i])) + "%");
writer.newLine();
}
writer.flush();
}
public static double calculate(String str) {
int arr[] = new int[Integer.parseInt(str.split(" ")[0])];
int sum = 0;
for (int i = 0; i < arr.length; i++) {
arr[i] = Integer.parseInt(str.split(" ")[i + 1]);
sum += arr[i];
}
double avg = (double)sum / (double)arr.length;
int count = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] > avg) {
count++;
}
}
return (double)count / (double)arr.length * 100.0;
}
}
댓글 영역