반응형
문제
https://www.acmicpc.net/problem/4344
4344번: 평균은 넘겠지
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
www.acmicpc.net
코드
C = int(input())
for _ in range(C):
overmean = []
Nscore = list(map(int, input().split()))
mean = (sum(Nscore) - Nscore[0])/(len(Nscore)-1)
for i in range(1, len(Nscore)):
if Nscore[i] > mean:
overmean.append(Nscore[i])
else:
continue
per = len(overmean) / (len(Nscore)-1) * 100
print("{:.3f}%".format(per))
설명
우선 C로 케이스 테스트 개수를 받아준다.
각 케이스마다 학생 수와 평균의 개수를 받아주고,
score를 sum 함수를 통해 더해주는데, 맨 처음 수는 학생의 수이므로 빼준다.
이후 Nscore에서 1을 빼준(학생 수를 빼준) 수로 나누어서 평균을 구한다.
평균보다 높은 수가 존재한다면, overmean 에 append 해주고 아니라면 아무것도 하지 않고 넘어간다.
퍼센트로 구해주기 위해, overmean의 개수를 학생 수로 나누어 준 수에 100을 곱해주고,
소수점 셋째 자리까지 출력을 하기 위해,
format함수로 출력해준다
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 11720: 숫자의 합 (0) | 2022.11.30 |
---|---|
[파이썬, Python] 백준 11654: 아스키 코드 (0) | 2022.11.29 |
[파이썬, Python] 백준 8598: OX퀴즈 (0) | 2022.11.27 |
[파이썬, Python] 백준 1546: 평균 (0) | 2022.11.26 |
[파이썬, Python] 백준 3052: 나머지 (0) | 2022.11.25 |