Notice
Recent Posts
Recent Comments
Link
나의 길
1546번 평균(java) 본문

문제를 구현하는 것은 간단하다고 생각했다.
먼저 세준이의 과목을 첫 번째 줄에 입력받고, 두 번째 줄에는 빈칸(" ")으로 구분된 각 과목의 점수를 입력받는다.
이후 세준이의 야매(?) 점수 계산법을 통해 {(점수 / 최댓값) * 100} 각 과목의 점수를 바꾸고 바뀐 점수를 통해 우리가 흔히 사용하는 (각 과목 점수의 합 / 과목 수) 평균 식을 적용하여 출력을 하면 된다.

그런데 여기서 조금 생각해 보아야 하는 문제가 있다. 바로 예제 출력값에서 볼 수 있는 소수점이다.
이 소수점을 보고 정수형 자료형이 아닌 실수형 자료형을 생각하고 문제를 풀어야겠다고 생각했다.
코드
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int subjectNumber = Integer.parseInt(br.readLine()); // 과목 수
String[] strArr = br.readLine().split(" "); // 각 과목 별 실제 점수
br.close();
double[] scoreArr = new double[subjectNumber];
double maxScore = 0; // 최대 점수
double sum = 0; // 실제 점수의 합
for(int i = 0; i < subjectNumber; i++){
scoreArr[i] = Double.parseDouble(strArr[i]);
if(scoreArr[i] > maxScore){
maxScore = scoreArr[i];
}
sum += scoreArr[i];
}
System.out.println((sum/maxScore)*100/subjectNumber); // 과목 별로 계산하는 것이 아니라 한번에 합을 구해 야매(?) 계산법으로 평균 출력
}
}
문제 구현 난이도는 어렵지 않지만 다양한 자료형을 잘 쓰지 않아 헷갈릴 수 있는 문제를 통해 다시 기초를 상기할 수 있어서 도움이 되었다.
'알고리즘 > 백준' 카테고리의 다른 글
10845번 큐(java) (0) | 2024.11.22 |
---|---|
1406번 에디터(java) (1) | 2024.11.20 |
1874번 스택 수열(java) (3) | 2024.11.15 |
9093번 단어 뒤집기(java) (1) | 2024.09.06 |
2444번 별 찍기 - 7(java) (0) | 2024.08.31 |
Comments