녕의 학습 기록

백준_1546 평균 구하기 (배열) 본문

Algorithm/Algorithm 문제

백준_1546 평균 구하기 (배열)

kjyyjk 2023. 11. 17. 21:29

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class BJ_1546 {

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

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

        int n = Integer.parseInt(br.readLine());
        int sum = 0;
        int max = 0;
        int temp;

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

        for(int i=0; i<n; i++) {

            temp = Integer.parseInt(st.nextToken());

            sum += temp;
            if(temp>max)
                max = temp;
        }

        System.out.println(sb.append(sum*100.0/n/max));
    }
}

 

 

sum 과 max 변수에 값이 제대로 들어왔음에도 자꾸 다른 출력 값이 나와 잠시 헤맸었다.

원인은 마지막 sum*100.0/n/max 부분에서 * 100을 해주었기 때문.

100.0을 해주지 않으니 int 형으로만 계산되며 소수점은 버려지고 몫만 나오게 된다.

 

 

 

1546번: 평균

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

www.acmicpc.net