728x90
https://www.acmicpc.net/problem/1546
📝 유튜브 풀이
https://www.youtube.com/watch?v=31Z1tH5frYY&list=PLFgS-xIWwNVU_qgeg7wz_aMCk22YppiC6&index=3
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();
int a[] = new int [N] ;
for(int i=0; i<N; i++){
a[i] = scanner.nextInt();
}
long sum = 0;
long max = 0;
for(int i=0; i<N; i++){
if(max < a[i]) max = a[i];
sum += a[i];
}
System.out.println(sum*100.0/max/N);
}
}
- 변환 점수의 평균을 구하는 식 : (A+B+C)*100/M/3
- 1차원 배열에 점수를 저장 한 후 , 최고점수와 총합을 구한다.
- 이후 총합 * 100 /최고점수 / 과목의 수를 계산해 다시 계산한 점수의 평균값을 출력
📝 나의 풀이
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//시험을 본 과목 개수
int N = scanner.nextInt();
double sum = 0;
double[] arr = new double[N];
for(int i=0; i<N; i++) {
arr[i] = scanner.nextDouble();
}
Arrays.sort(arr);
for(int i=0; i<arr.length; i++) {
//모든 점수를 점수/최고점수*100으로 고침
//arr.length-1은 오름차순정렬 중 가장 끝에있는 숫자이기 떄문에 최고점수
sum += arr[i] / arr[arr.length-1]* 100;
}
System.out.println(sum/arr.length);
}
}
728x90
'코딩테스트 > [JAVA] 백준' 카테고리의 다른 글
[백준 | JAVA | 2018번] 수들의 합 5 (2) | 2023.11.08 |
---|---|
[백준 | JAVA | 11659번] 구간합 구하기 (0) | 2023.11.05 |
[백준 | JAVA | 1735번] 분수 합 (1) | 2023.11.03 |
[백준 | 11720번] 숫자의 합 (0) | 2023.10.21 |
[ 백준 | JAVA | 24262번 ] 색종이 (0) | 2023.10.16 |