ALGORITHM

백준 1546 평균 (Java)

공부하는_다온 2023. 1. 18. 22:05

1. 문제 링크

 

1546번: 평균

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

www.acmicpc.net

 

2. 문제 및 입출력예제

 

3. 문제 풀이

문제에 적혀있는 공식을 이용하면 된다.

그러나 여기서 중요한 점은 정수가 부정확하다는 점이다.

소수점이 있는 계산을 해야 하는데 int로 계산을 할 경우 예상과 다른 결과가 자주 나오기 때문에

정수를 실수로 바꾸는 과정이 필요하다.

 

4. 코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) throws Exception{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        
        String N = br.readLine();
        int n  = Integer.parseInt(N);
        N = br.readLine();
        String[] num = N.split(" ");
        int[] ber = new int[n];
        int max = 0;
        for(int i=0;i<n;i++) {
        	ber[i] = Integer.parseInt(num[i]);
        	if(ber[i]>max)
        		max = ber[i];
        }

        double sum = 0;
        for(int i=0;i<n;i++) {
        	sum += ((double)ber[i])/max*100;
        }
       
        sb.append((double)sum/n);
        System.out.println(sb);
		
	}
}