Notice
Recent Posts
Link
- Today
- Total
hye-log
[백준]1546번 평균(JAVA) 본문
0. 문제 링크
https://www.acmicpc.net/problem/1546
1546번: 평균
첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보
www.acmicpc.net
1. 문제 설명
1) 주어진 점수를 (점수 / 최대값 * 100)으로 고친 후 평균 구하기
2. 입출력
// input
3
10 20 30
// output
66.66667
3. 코드
import java.io.*;
import java.util.*;
public class b1546 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = null;
int N = Integer.parseInt(br.readLine()); // 과목의 개수
int[] arr = new int[N]; // 점수 배열
int M = 0; // 최대값 점수
st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
arr[i] = Integer.parseInt(st.nextToken());
M = Math.max(M, arr[i]); // 최대값 점수 찾기
}
double avg = 0; // 새로운 평균
for (int i = 0; i < N; i++) {
double newScore = (double)arr[i] / M * 100; // double 형으로 형변환하여 저장
avg += newScore; // 점수 / 최고점 * 100
}
avg /= N; // 과목의 개수로 나누어서 평균 구하기
System.out.println(avg); // 출력
}
}
실행 결과
4. 회고
1) int / int 를 하면 결과가 int가 나오므로, double 형을 결과로 받기 위해서는 명시적 형변환이 필요
5. Github
https://github.com/iihye/Algorithm/blob/main/Baekjoon/b1546.java
728x90
'CodingTest > Baekjoon' 카테고리의 다른 글
[백준]1181번 단어 정렬(JAVA) (0) | 2023.08.15 |
---|---|
[백준]1074번 Z(JAVA) (0) | 2023.08.14 |
[백준]1259번 팰린드롬수(JAVA) (0) | 2023.08.13 |
[백준]10809번 알파벳 찾기(JAVA) (0) | 2023.08.13 |
[백준]10250번 ACM 호텔(JAVA) (0) | 2023.08.13 |
Comments