[백준]4344 평균은 넘겠지

sun_U·2022년 8월 17일
0

[알고리즘]백준_Python

목록 보기
10/23
post-thumbnail

문제 | 평균은 넘겠지

대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.

입력

첫째 줄에는 테스트 케이스의 개수 C가 주어진다.

둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.

출력

각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.


제출 코드

n = int(input())
for i in range(n):
    cnt = 0
    scores = list(map(int, input().split()))
    for j in scores[1:]:
        if j > sum(scores[1:]) / scores[0]:
            cnt += 1
    mean_p = cnt / scores[0] * 100
    print("{:0.3f}%".format(mean_p))
  1. 반복 횟수를 정수로 입력 받는다.
  2. 반복 횟수만큼 학생 수와 점수를 입력받아 리스트로 저장한다.
  3. 리스트의 첫 요소는 학생 수 이므로 두 번째 요소부터 반복문을 통해 평균 점수보다 높은 경우 cnt를 1씩 증가 시킨다.
  4. 평균은 cnt를 전체 학생 수인 score[0]로 나눈 뒤 100을 곱한다.
  5. 출력 조건에 맞게 포맷팅을 활용해 소수 셋째자리까지 표현한다.
profile
Data Engineer AI/ Metaverse :)

0개의 댓글