이 문제는 나름 빠르게 풀었던 문제같다.
문제
정답
package codingTest;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException { // Null 예외 처리
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 버퍼 선언
double A = Double.parseDouble(br.readLine()); // A는 데이터 타입 Double의 변수임
double[] arr = new double[(int) A]; // 배열은 double이나 배열의 갯수(A)는 정수타입을 의미
double B; // 데이터 타입 Double의 변수 B
double max = 0; // 최대값
double sum = 0; // 총 합
double avg = 0; // 평 균
StringTokenizer st = new StringTokenizer(br.readLine()); // " " 띌 때마다 구분 할 것임
for(int i=0; i<A; i++) { // A 갯수 만큼 반복 시킬 것임
B = Double.parseDouble(st.nextToken()); // B는 데이터 타입 Double의 값
arr[i] = B; // arr[0] 부터 순서대로 B의 값을 집어 넣어줌
if(arr[i] >= max) { // 만약 arr[0]이 max보다 크면
max = arr[i]; // 큰 녀석으로 max값을 교체함
}
}
for(int x=0; x<A; x++) { // 반복문 A 전까지만 반복
Double[] brr = new Double[(int)A]; // brr 배열안에 A 갯수 들어감 데이터타입은 Double
brr[x] = arr[x]*100/max; // 배열안에 문제의 주어진 조건 삽입
sum += brr[x]; // 순서대로 sum 값에 더해짐
}
avg = sum/A; // 총 합 에서 A의 갯수 만큼 나누면 평균임
System.out.println(avg); // 평균 호출하셈
br.close();// 버퍼 종료
}
}
설명은 주석으로
친절하게 적어 놓았다.
To be continue..
'Codingtest' 카테고리의 다른 글
[코딩테스트] 백준 5597번 과제 안 내신 분 ..? 해설집 (Java) (0) | 2022.10.29 |
---|---|
[코딩테스트] 백준 10807번 개수 세기 해설집 (Java) (0) | 2022.10.24 |
[코딩테스트] 백준 3052번 나머지 해설집 (Java) (0) | 2022.10.23 |
[코딩테스트] 백준 2562번 최댓값 해설집 (Java) (0) | 2022.10.19 |
[코딩테스트] 백준 10818번 최소, 최대 해설집 (Java) (0) | 2022.10.19 |