📖 문제
- 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
- 첫째 줄에는 테스트 케이스의 개수 C가 주어진다.
둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
- 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.
https://www.acmicpc.net/problem/4344
4344번: 평균은 넘겠지
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
www.acmicpc.net
💻 Python
for test in range(int(input())):
student = list(map(int, input().split()))
average = sum(student[1:]) / student[0]
count = 0
for grade in student[1:]:
if grade > average:
count += 1
ratio = round(count/student[0]*100, 3)
print('%0.3f'%ratio + '%')
📚 풀이
지난 번에 푼 문제처럼 테스트케이스를 입력받는 문제였다.
입력받은 학생들의 수와 점수로 평균을 구한 후, 평균을 넘는 학생들의 수를 구해서 비율을 구했다.
하다가 소수점 셋째 자리까지 출력하는 법을 몰라서 찾아봤다...
그리고 나서 제출했는데 틀렸나고 나와서 잉 뭐지 싶어서 다시 보니까 출력에 %를 안 썼다...
%0.3f'%ratio의 type이 str이라 '%'를 더해주었다.
'알고리즘 > 백준' 카테고리의 다른 글
| [백준] 2941. 크로아티아 알파벳 (0) | 2021.02.19 |
|---|---|
| [백준] 1065. 한수 (0) | 2021.02.12 |
| [백준] 4673. 셀프 넘버 (0) | 2021.02.12 |
| [백준] 2675. 문자열 반복 (1) | 2021.02.01 |
| [백준] 1712. 손익분기점 (0) | 2021.01.29 |