002. 평균 구하기 (백준 1546)

jihyeon kim·2026년 1월 1일

코딩테스트

목록 보기
2/33

문제 분석

  • (점수/M)*100의 의미
    • (점수/M) -> 최대점수M이 만점일 때, 이 점수가 차지하는 비율
    • *100 -> 만점을 100점으로 바꿨을때, 이 점수는 몇점인가?

손으로 풀기

점수를 1차원 배열에 저장
최고점수max 와 점수의 총합sum 구하기
평균값 구하기 : 총합 * 100 / 최대점수 / 과목수

슈도코드 작성

변수 N에 과목의 수 입력받기
길이가 N인 1차원 배열 A[] 선언
for(A[] 길이만큼 반복) {
	A[i]에 각 점수 저장
}
for(A[] 길이만큼 반복) {
	최고점은 변수 max에, 총점은 변수 sum에 저장
}
sum * 100 / max / N 출력

정답

반복문 1개로 정리

import java.util.Scanner;

public class p1546_평균구하기 {
    public static void main(String[] args) {
        // *100.0 하면 double형으로 소수점 자동 계산
        // 반복문 안에서 스캐너
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();

        long max = 0;
        long sum = 0;

        for(int i=0; i<N; i++) {
            int temp = sc.nextInt();
            if(temp > max) {
                max = temp;
            }
            sum += temp;
        }
        System.out.println(sum * 100.0 / max / N);
    }
}

0개의 댓글