import java.io.*;
import java.util.*;
class Main {
public static void main(String args[]) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
double maxScore = 0;
double[] numArray = new double[N];
for (int i = 0; i < N; i++) {
numArray[i] = Double.parseDouble(st.nextToken());
if (numArray[i] > maxScore) {
maxScore = numArray[i];
}
}
double totalScore = 0;
for (int i = 0; i < N; i++) {
totalScore += numArray[i] / maxScore * 100;
}
double averageSocre = totalScore / N;
System.out.println(Math.round(averageSocre * 1000000) / 1000000.0);
}
}
해결방법
numArray
는 점수를 입력하기 위한 배열로 N만큼 숫자를 입력받는다.numArray
의 i번째가 maxScore
의 값보다 클 경우 maxScore
에 numArray
의 i번째 값을 저장한다.기존에 받았던 점수 / maxScore * 100
이기 때문에 해당 값을 totalScore
에 저장하였고, Math.round함수를 사용하여 평균 점수를 averageScore
에 저장하였다.