빠르게 핵심만
[백준 1546] 평균 Java 풀이 본문
풀이
아래 공식을 참고해서 새로운 평균을 구할 수 있습니다.
(score1 / maxScore * 100 + score2 / maxScore * 100 + score3 / maxScore * 100)
= (score1 + score2 + score3) * 100 / maxScore / n;
= sum * 100 / maxScore / n;
코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public 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 avg = 0.0; // 평균
int sum = 0; // 점수의 합
int maxScore = 0; // 최고점
for (int i = 0; i < n; i++) {
int score = Integer.parseInt(st.nextToken());
sum += score; // 점수의 합을 계산한다.
maxScore = Math.max(maxScore, score); // 최고점을 구한다.
}
// 새로운 평균을 출력한다.
System.out.println((sum * 1.0 / maxScore) * 100 / n);
}
}
'알고리즘' 카테고리의 다른 글
[백준 1197] 최소 스패닝 트리 Java 풀이 (0) | 2023.10.18 |
---|---|
[백준] 카드2 (0) | 2023.09.13 |
[백준 11660] 구간 합 구하기 5 Java 풀이 (0) | 2023.09.08 |
[백준 11659] 구간 합 구하기 4 Java 풀이 (0) | 2023.09.06 |
[백준 11720] 숫자의 합 Java 풀이 (0) | 2021.10.24 |