안녕하세요. 이번에는 백준 1546번 풀이 문제를 가져 왔습니다.
해당 문제입니다.
일단 이해를 돕기 위해 글로 풀이를 써보겠습니다.
1. 먼저 첫째 줄에 시험 본 과목의 개수 N이 주어진다라고 했으니 입력받는 값이 있어야 합니다.
2. 2번째 줄에 입력을 한줄로 한 것으로 보아 배열에 담아 주겠습니다.
int n = in.nextInt();
int[] obj = new int[n];
그러면 해당 형태로 담아질 것 같습니다.
3. 그 뒤에 for문으로 입력 값을 배열에 담아주고
4. 최대값을 골랐다라고 했으니 이제 최대값을 구해보겠습니다. 최대값도 마찬가지로 배열에서 하나씩 꺼내서 for문으로 비교해주면서 구해줍니다.
5. 최대값 비교가 완료되었으면, 모든 점수/M(최대값)*100으로 고쳤다고 쓰여있습니다. 모든 점수를 구하는것도 for문으로 += 해주면서 구해줍니다.
6. 다 구하셨으면 System.out.println(1.0*sum/max*100/n); // 평균값 구하기 > 실수형태이므로 처음에 1.0을 곱해줍니다.
생각보다 간단한 문제죠??
아래에는 전체 코드 올려드릴게요~
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] obj = new int[n];
for(int i = 0; i < obj.length; i++)
{
obj[i] = in.nextInt();
}
int max = 0;
//최대 값 구하기
for(int i = 0; i < n; i++)
{
int a = obj[i];
if(a>max){
max = a;
}
}
int sum=0; // 점수 합을 구하는 변수
for (int i=0; i<obj.length; i++) { //포문으로 모든 배열 값을 더해준다.
sum += obj[i];
}
System.out.println(1.0*sum/max*100/n); // 평균값 구하기 > 실수형태이므로 처음에 1.0을 곱해준다.
}
}
'DEV > Algorithm' 카테고리의 다른 글
[백준] 1065번 : 한수 - Java(자바) (0) | 2022.05.18 |
---|---|
[백준] 8958번: OX퀴즈 풀이 (0) | 2022.05.10 |
[JAVA] NoSuchElementjava.util.NoSuchElementException는 존재하지 않는 것을 가져오려고 할 때 발생합니다. (0) | 2022.05.03 |
[백준알고리즘] 2884번 : 알람 시계 (0) | 2022.04.28 |
[백준알고리즘/JAVA] 자바 특수문자, 괄호, 백슬래시, 따옴표 출력하기 (백준 10171, 10172번) (0) | 2022.04.27 |