본문 바로가기

ALGORITHM

백준 1546 평균 (Java)

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

'ALGORITHM' 카테고리의 다른 글

백준 1009 분산처리 (Java)  (0) 2023.01.20
백준 1152 단어의 개수 (Java)  (0) 2023.01.19
백준 3052 나머지 (Java)  (0) 2023.01.17
백준 2869 달팽이는 올라가고 싶다 (Java)  (0) 2023.01.16
백준 1181 단어 정렬 (Java)  (0) 2023.01.15