알고리즘/백준
백준 4344 평균은 넘겠지 Python
무명 씨
2020. 12. 9. 08:39
반응형
문제풀이
1. 각 줄의 첫 번째 요소는 학생수, 그 다음 요소들은 학생들의 점수들이므로 평균을 구한 후, 평균 이상인 학생수를 구해 전체 학생수로 나눠준다.
2. *100을 한 후, 소수점 세자리로 끊어준다. '.3f' 포맷을 활용한다.
Python Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import sys
readline = sys.stdin.readline
def main(n):
for _ in range(n):
nums = list(map(int,readline().split()))
# 평균 = (첫번째 요소를 제외한 요소들의 합)/(첫번째 요소를 제외한 요소들의 개수)
mean = sum(nums[1:])/nums[0]
# 평균보다 큰 요소만큼 리스트에 1을 넣고 리스트의 총합을 구하면 평균을 넘는 학생의 비율이 된다.
print('%.3f'%(sum(1 for x in nums[1:] if x > mean)*100/nums[0]) + '%')
if __name__ == '__main__':
n =int(readline())
main(n)
|
cs |
문제 링크
4344번: 평균은 넘겠지
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
www.acmicpc.net
반응형