[파이썬] 백준 4344: 평균은 넘겠지

문제 출처

https://www.acmicpc.net/problem/4344

나의 코드

import sys

input = sys.stdin.readline

c = int(input())
cases = [[x for x in map(int, input().strip().split())] for _ in range(c)]

for case in cases:
    population = case[0]
    scores = case[1 : len(case)]
    score_avg = sum(scores) / population

    above_avg = 0
    for score in scores:
        if score > score_avg:
            above_avg += 1

    result = above_avg * 100 / population
    print("{0:6.3f}%".format(result))

사용개념

리스트 컴프리헨션을 두번 사용했다.

cases = [[x for x in map(int, input().strip().split())] for _ in range(c)]

스플라이싱을 활용해서 배열에서 필요한 요소들을 꺼내서 사용했다.

scores = case[1 : len(case)]

출력 문자열의 형식을 소수점 아래 3자리로 맞췄다.

print("{0:6.3f}%".format(result))