DINGA DINGA
article thumbnail
Published 2021. 7. 11. 17:24
[백준] 1546번: 평균 JAVA/BOJ
728x90

https://www.acmicpc.net/problem/1546

 

1546번: 평균

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

www.acmicpc.net

 

코드

import java.util.Arrays;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		float[] score = new float[n];
		float sum = 0;
        
		for (int i = 0; i < n; i++) {
			score[i] = scanner.nextFloat();
		}
        
		Arrays.sort(score);
		float m = score[n - 1];
        
		for (int i = 0; i < n; i++) {
			sum += score[i] / m * 100;
		}
        
		System.out.format("%.2f", sum / n);
		scanner.close();
	}
}

 

설명

과목의 개수 n을 입력 받고, 크기가 n인 float형 배열 score를 선언한다.

for문을 이용해 n개의 점수를 입력 받아 score 배열에 저장한다.

Arrays.sort()를 이용해 score 배열을 오름차순으로 정렬하고, 최고점인 score[n-1]을 float형 변수 m에 저장한다.

for문을 이용해 score의 각 데이터를 문제에서 요구하는 대로 변환하여 sum에 더해주고, 모두 더하면 sum / n의 결과값(평균)을 출력한다.

728x90

'JAVA > BOJ' 카테고리의 다른 글

[백준] 1929번: 소수 구하기  (1) 2021.07.18
[백준] 4153번: 직각삼각형  (0) 2021.07.18
[백준] 2753번: 윤년  (1) 2021.07.11
[백준] 10172번: 개  (1) 2021.07.01
[백준] 10171번: 고양이  (1) 2021.07.01