https://www.acmicpc.net/problem/1546
문제 해결 방안
1. input이 N과 다음줄에 N수 만큼의 성적이 입력된다. 그래서 N과 각 성적을 나눠서 저장한다.
2. 각 성적에서 최댓값을 찾는다.
3. 최대값을 제외한 성적들을 공식에 맞게 변경한다.
4. 그러고 sum을 구한뒤에 N으로 나눠 평균을 구한다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class backjoon_1546_평균 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 총 과목이 몇개 잇는지 확인
int N = Integer.parseInt(br.readLine());
// StringTokenizer로 성적이 몇개인지 확인
StringTokenizer st = new StringTokenizer(br.readLine());
// 성적을 입력 받을 곳
double[] arr = new double[N];
// 평균, 각 점수, 점수의 최대값을 나타내기 위한 변수 지정
double sum = 0;
double score = 0;
double maxNum = 0;
// 최대값 찾기
for (int i = 0; i < N; i++) {
score = Integer.parseInt(st.nextToken());
if (score > maxNum) {
maxNum = score;
}
arr[i] = score;
}
// 성적을 수정한 뒤에 합을 구하기
for (int i = 0; i < N; i++) {
double newNum = arr[i] / maxNum * 100;
arr[i] = (newNum);
sum += newNum;
}
// 평균 출력하기
System.out.println(sum / N);
}
}
'알고리즘 > 알고리즘 공부(JAVA)' 카테고리의 다른 글
backjoon_1339_두수비교하기 Using(Java) (0) | 2022.08.31 |
---|---|
알고리즘_백준_1157_단어 공부 Using_By(Java) (0) | 2022.08.29 |
알고리즘_백준_1152_단어의 개수 Using_By(Java) (0) | 2022.08.29 |
알고리즘_백준_1002 Using_By(Java) (0) | 2022.08.29 |
알고리즘_백준_1000 Using_By(Java) (0) | 2022.08.29 |