문제

 

내가 작성한 코드
# 테스트 케이스 개수 입력 N
n = int(input())

# 각 테스트 케이스 학생의 수(Students)와 점수(Scores) 입력

for i in range(n):
    info = list(map(int, input().split()))
    meanScore = sum(info[1:]) / info[0]
    meanStudents = len([i for i in info[1:] if i > meanScore])
    print("{:.3f}%".format(round(meanStudents / info[0] * 100, 3)))

 

코드 설명

> n 변수에 테스트 케이스 개수 입력을 받는다.

> 반복문을 통해 테스트 케이스 수에 맞게 진행한다.

> 각 테스트에서 info 변수를 통해 학생의 수와 점수를 입력받는다.

> meanScore라는 변수는 학생들의 평균 점수를 의미한다.

> meanStudents 는 list compression 을 통해 평균 점수 이상의 학생을 구하였고, 그 수를 의미한다.

> format 함수를 통해 소수점 3자리를 출력하였습니다.

+ Recent posts