알고리즘/문제풀이 - 백준

[백준 1546번] 평균(JAVA)

DJDU 2022. 11. 3. 14:07

문제 풀러가기✍🏻

 


서론

계산실수를 많이 했다.

문제

첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-2 이하이면 정답이다.

 

시행착오(Trial&Error)

풀이(Solution)

int형 대신 float형으로 평균을 출력하라는 뜻으로 해석했다.

 

코드

import java.io.*;
import java.util.StringTokenizer;

class Main {
    public static void main(String[] args) {
        try {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
            int n = Integer.parseInt(br.readLine());
            float[] arr = new float[n];
            float max = arr[0];
            float result = 0;
            StringTokenizer st = new StringTokenizer(br.readLine(), " ");
            for(int i = 0; i < n; i++) {
                arr[i] = Integer.parseInt(st.nextToken());
                if(max < arr[i])
                    max = arr[i];
            }
            for(int i = 0; i < n; i++) {
                result += arr[i] / max * 100;
            }   
            br.close();
            bw.write(result / n + "\n");
            bw.close();
        } catch(IOException e) {}
        
    }
}