Computer Science (CS)/알고리즘

[백준/Java] 1546번 평균

eune7 2023. 3. 9. 15:55
728x90
반응형

 


 

문제

 

 

 

 

정답 코드

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

public class Main {

        public static void main(String[] args) throws IOException{

            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

            double[] array = new double[Integer.parseInt(br.readLine())];

            StringTokenizer st = new StringTokenizer(br.readLine(), " ");

            for(int z=0; z< array.length; z++) {
                array[z] = Double.parseDouble(st.nextToken());
            }

            double max = 0;

            for(int i=0; i<array.length; i++) {
                if(array[i] > max)
                    max = array[i];
            }

            double avg = 0;

            for(int j=0; j<array.length; j++) {
                avg += ((array[j]/max)*100);
            }

            System.out.print(avg/array.length);

            br.close();

        }
    }

결과값이 소수점까지 나온 다는 것을 주의하여 double형으로 계산해주면 됩니다!

 

크게 어렵지 않게 느껴졌어요.

제법..알고리즘에 익숙해진 거 같아 기분이 좋네요ㅎㅎ

 

살짝 헤맸던 부분은 avg += 해줄 때 계산식에 괄호를 넣지 않으니 에러가 나더라고요

계산 순서 때문인가 싶어서 괄호를 쳐주니 해결됐습니다!

728x90
반응형