✏️ 문제풀이/백준
[백준/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 값만 잘 얻어낸다면 술술 풀리는 문제라고 생각한다!