✏️ 문제풀이/백준

[백준/Java] 1546번 :: 평균

bono-hye 2024. 4. 4. 23:02

 

1) Scanner 사용

import java.util.Scanner;

public class Main
{
	public static void main(String[] args)
	{
		Scanner sc = new Scanner(System.in);
		
		int n = sc.nextInt();	// 과목 갯수
		int[] score = new int[n];
		double max = 0;			// int 아닌 double!!
		double avg = 0;			// int 아닌 double!!
		
		for(int i=0; i<n; i++)
		{
			score[i] = sc.nextInt();	// 입력 받은 정수(과목별 점수)를 배열에 저장
			if (score[i] > max)			// max 값에 최댓값을 저장하기 위한 조건문
				max = score[i];
		}
		
		for(int i=0; i<score.length; i++)
			avg += (score[i]/max*100);
		
		System.out.println(avg/n);
	}
}

 

2) BufferedReader 사용

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

public class Main
{
	public static void main(String[] args) throws NumberFormatException, IOException
	{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		
		int n = Integer.parseInt(st.nextToken());
		int score[] = new int[n];
		double max = 0;
		double avg = 0;
		st = new StringTokenizer(br.readLine());
		
		for(int i=0; i<n; i++)
		{
			score[i] = Integer.parseInt(st.nextToken());
			if(score[i] > max)
				max = score[i];
		}	
			
		for(int i=0; i<score.length; i++)
			avg += score[i]/max*100;
		
		System.out.println(avg/n);
			
	}
}

 

 

💡 정리

이 문제는 비교적 간단한 문제였다. max 값만 잘 얻어낸다면 술술 풀리는 문제라고 생각한다!