728x90
문제 설명
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
입력
첫째 줄에는 테스트 케이스의 개수 C가 주어진다.
둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
출력
각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.
풀이
n = int(input())
for _ in range(n):
std_list = list(map(int, input().split()))
stdnum = std_list[0]
sum_std = sum(std_list) - stdnum
avg = sum_std/stdnum
cnt = 0
for i in range(1,stdnum+1):
if std_list[i] > avg:
cnt += 1
percent = cnt/stdnum*100
print(format(percent,".3f")+"%")
둘째줄 부터 입력받는 테스트 케이스의 첫번째가 학생의 수 라는 정보는 이미 알고 있기 때문에 변수에 넣어주었다.
학생들의 점수에서 평균을 구하고 반복문으로 평균을 넘는 학생 수를 cnt에 저장한다.
출력시 소숫점 셋째 자리까지 출력하기 위해 format을 써줬다.
728x90
'💻dev > 💡코딩테스트' 카테고리의 다른 글
코드업 100제 | 6098 성실한 개미 (파이썬) (0) | 2023.03.31 |
---|---|
코드업 100제 | 등차수열, 등비수열 (파이썬) (0) | 2023.03.31 |
백준 | 1157 단어공부 (파이썬) (0) | 2023.03.28 |
프로그래머스 | Lv.2 프린터 (파이썬) (0) | 2023.03.28 |
백준 | 10988 팰린드롬인지 확인하기 (파이썬) (0) | 2023.03.26 |