ALGORITHM/백준

[JAVA] 백준 1546 - 평균

송경훈 2024. 5. 19. 13:21
반응형

📖 문제

 

☑️ 입출력 예제

 

알고리즘❓ 풀어내기❗️

정답과의 상대/절대 오차는 10의 -2제곱, 즉 0.01까지 허용한다. 오차범위가 있기 때문에 반드시 연산할 때 최소한 자료형 1개 이상은 double 형으로 써야 한다.

 

🧑🏻‍💻풀이 코드

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int[] score = new int[N];

        for (int i = 0; i < N; i++) {
            score[i] = sc.nextInt();
        }

        int max = 0;
        for (int i = 0; i < N; i++) {
            if (score[i] > max) {
                max = score[i];
            }
        }

        double sum = 0;
        for (int i = 0; i < N; i++) {
            sum += (double) score[i] / max * 100;
        }

        double ans = sum / N;
        System.out.println(ans);
    }
}

▶  sum += (double) score[i] / max * 100 : double 형으로 형변환 해주어 오차범위를 만족시킨다.