문제 출처
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))