๋ฌธ์
์ธ์ค์ด๋ ๊ธฐ๋ง๊ณ ์ฌ๋ฅผ ๋ง์ณค๋ค. ์ธ์ค์ด๋ ์ ์๋ฅผ ์กฐ์ํด์ ์ง์ ๊ฐ์ ธ๊ฐ๊ธฐ๋ก ํ๋ค. ์ผ๋จ ์ธ์ค์ด๋ ์๊ธฐ ์ ์ ์ค์ ์ต๋๊ฐ์ ๊ณจ๋๋ค. ์ด ๊ฐ์ M์ด๋ผ๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ ๋ชจ๋ ์ ์๋ฅผ ์ ์/M*100์ผ๋ก ๊ณ ์ณค๋ค.
์๋ฅผ ๋ค์ด, ์ธ์ค์ด์ ์ต๊ณ ์ ์ด 70์ด๊ณ , ์ํ์ ์๊ฐ 50์ด์์ผ๋ฉด ์ํ์ ์๋ 50/70*100์ด ๋์ด 71.43์ ์ด ๋๋ค.
์ธ์ค์ด์ ์ฑ์ ์ ์์ ๋ฐฉ๋ฒ๋๋ก ์๋ก ๊ณ์ฐํ์ ๋, ์๋ก์ด ํ๊ท ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ํ ๋ณธ ๊ณผ๋ชฉ์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. ์ด ๊ฐ์ 1000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ๋์งธ ์ค์ ์ธ์ค์ด์ ํ์ฌ ์ฑ์ ์ด ์ฃผ์ด์ง๋ค. ์ด ๊ฐ์ 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ด ์๋ ์ ์์ด๊ณ , ์ ์ด๋ ํ๋์ ๊ฐ์ 0๋ณด๋ค ํฌ๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์๋ก์ด ํ๊ท ์ ์ถ๋ ฅํ๋ค. ์ค์ ์ ๋ต๊ณผ ์ถ๋ ฅ๊ฐ์ ์ ๋์ค์ฐจ ๋๋ ์๋์ค์ฐจ๊ฐ 10-2 ์ดํ์ด๋ฉด ์ ๋ต์ด๋ค.
์์ ์ ๋ ฅ 1
3
40 80 60
์์ ์ถ๋ ฅ 1
75.0
์์ ์ ๋ ฅ 2
3
10 20 30
์์ ์ถ๋ ฅ 2
66.666667
// 10-2 ์ดํ์ ์ค์ฐจ๋ฅผ ํ์ฉํ๋ค๋ ๋ง์ ์ ํํ ์์ 2๋ฒ์งธ ์๋ฆฌ๊น์ง ์ถ๋ ฅํ๋ผ๋ ๋ป์ด ์๋๋ค.
์์ ์ ๋ ฅ 3
4
1 100 100 100
์์ ์ถ๋ ฅ 3
75.25
์์ ์ ๋ ฅ 4
5
1 2 4 8 16
์์ ์ถ๋ ฅ 4
38.75
์์ ์ ๋ ฅ 5
2
3 10
์์ ์ถ๋ ฅ 5
65.0
ํ์ด
1. score ๋ฐฐ์ด์ ์ ์๋ฅผ ์ ๋ ฅ๋ฐ๋ ๋์์ maxScore์ ์ ์์ ์ต๋๊ฐ์ ์ ์ฅ
2. nscore ๋ฐฐ์ด์ ์ ๋ ฅ๋ฐ์ ์ ์๋ฅผ ์ต๋์ ์๋ก ๋๋๊ณ 100์ ๊ณฑํ ์ ์ ์๋ฅผ ์ ์ฅ, total์ ๋ํจ
3. total์ ์ด ๊ณผ๋ชฉ ์๋ก ๋๋์ด ํ๊ท ์ ๊ตฌํด ์ถ๋ ฅํ๋ค.
import java.util.Scanner;
public class B1546 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
double[] score = new double[num];
double[] nscore = new double[num];
double maxScore = 0;
double total = 0;
for(int i = 0; i < num; i++) {
score[i] = sc.nextInt();
maxScore = maxScore > score[i] ? maxScore : score[i];
}
for(int i = 0; i < num; i++) {
nscore[i] = (score[i] / maxScore * 100);
total += nscore[i];
}
System.out.println(total / num);
}
}