백준 1546
백준 1546 문제
import java.util.*;
public class Boj1546 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int scoreCount = sc.nextInt();
long max = 0;
long sum = 0;
for (int i = 0; i < scoreCount; i++) {
int temp = sc.nextInt();
if (temp > max) {
max = temp;
}
sum += temp;
}
System.out.println(sum * 100.0 / max / scoreCount);
}
}
풀이
- 해당 문제는 모든 점수를 최대 점수로 나누고 100을 곱한 다음에 평균을 구하는 문제이다.
- 위의 평균을 구하는 식은
(전체 점수의 합) × 100 ÷ 최대점수 ÷ 과목 수로 바꿀 수 있다.
- 과목 수를 입력 받는다.
- 과목 수만큼 반복문을 돌면서 각 점수를 입력 받으면서
sum 변수에 점수를 더해주고, 입력 받은 점수와 현재의 최대 점수를 비교하며 최대 점수를 갱신한다.
- 위의 식에 각 값들을 대입하여 출력해주면 되는데, 이 때 정수형으로 출력하면 소수자리가 짤리기 때문에
100.0 곱하여 double형으로 출력되게 한다.