Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
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 30 31
Archives
Today
Total
관리 메뉴

빠르게 핵심만

[백준 1546] 평균 Java 풀이 본문

알고리즘

[백준 1546] 평균 Java 풀이

빠르게 핵심만 2023. 8. 22. 12:13
 

1546번: 평균

첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보

www.acmicpc.net

 

풀이

아래 공식을 참고해서 새로운 평균을 구할 수 있습니다.

 

(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);
	}
}
 

add 1546 · jinseoplee/baekjoon-solutions@7c3b9d9

jinseoplee committed Jan 3, 2024

github.com