#42. 백준 4344번 문제 풀이: 평균은 넘겠지 문제 원본 보기
점수의 평균을 넘는 학생들의 비율을 계산. 입력: 첫줄에 테스트 케이스 개수, 둘째 줄에 첫수는 학생수, 이어서 점수들..반복 출력: 각 케이스마다 한 줄씩 평균을 넘는 학생의 비율을 반올림하여 소수점 셋째 자리까지 출력
입력/출력
--입력--
5
5 50 50 70 80 100
7 100 95 90 80 70 60 50
3 70 90 80
3 70 90 81
9 100 99 98 97 96 95 94 93 91
--출력--
40.000%
57.143%
33.333%
66.667%
55.556%
문제풀이+해설
평균을 실수로 구해서 소수점 셋째 자리까지 출력하는 게 핵심이다.

소수점을 세자리까지 출력하는 문자열 포맷은 다음과 같다.

파이썬: f-string, f'{변수 :.xf}' 
 print(f'{3.1415 :.2f}') # 3.14 , 소수 두자리까지 반옴림 출력
C언어: 
 printf("%.3f", av);
C++: cout 에서 사용할 경우. 
 cout << fixed; cout.precision(n); // n 소수자릿수
code sol.
c = int(input())
# 테스트 케이스 개수를 입력받아 정수로 변환해서 받는다.
for i in range(c): # 케이스 숫자 만큼 루프
  a = list(map(int, input().split()))
  # 공백으로 나누어진 숫자 목록을 입력받아 정수로 변환 후, 리스트로 받음
  sum = 0 # 평균을 계산을 위한 합계
  for j in range(1, a[0] + 1): # 1부터 첫숫자(a[0]) 까지 반복
    sum += a[j] # 합계 계산
    
  av = sum / a[0] # 평균계산
  count = 0 # 평균을 넘는 점수수 카운트
  for j in range(1, a[0] + 1): # 1부터 갯수만큼 반복
    if a[j] > av: # 평균을 넘으면 카운트 증가
      count += 1 # 카운트 증가
  av = (count / a[0]) * 100 # 평균넘는 학생 수 평균 계산
  print(f'{av :.3f}%') # f-string 으로 소수세자리까지 출력
© 코드솔 - CodeSol. All Rights Reserved.