https://www.acmicpc.net/problem/1546
과목의 수와 그 수 만큼의 성적을 입력 받은 후 평균을 내는 문제이지만, 세준이는 점수를 조작한 후에 평균 점수를 다시 내기로 한다.
입력 받은 점수 / 최댓값 * 100 으로 점수를 새로 만든 후 새로 만든 점수로 평균을 내는 문제.
과목의 수(count)와 각 점수(st)를 입력 받는다. 그리고 과목의 수만큼의 double 배열을 만들어 준다. 반복문을 통해 입력 받은 점수들 중 최댓값을 구한다.(max)
새로운 반복문에서 새로운 점수를 만들고 total값을 만들어 새로운 평균값을 구한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Q_1546 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int count = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
double max = 0;
double total = 0;
double[] arr = new double[count];
for(int i = 0; i < arr.length; i++) {
arr[i] = Double.parseDouble(st.nextToken());
if(arr[i] > max) max = arr[i];
}
for(int i = 0; i < arr.length; i++) {
arr[i] = arr[i] / max * 100;
total += arr[i];
}
double avg = total / count;
System.out.println(avg);
}
}