본문 바로가기
개발/파이썬

[Python] 백준 문제풀이 4344번 "평균은 넘겠지"

by 현석_s 2022. 6. 4.

[Python] 백준 문제풀이 4344번 "평균은 넘겠지"

안녕하세요 "현석의 직박구리"의 폴더 생성자 현석이라고 합니다.


 

문제

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

입력

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

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

출력

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

 

n = int(input())

for i in range(n):
    score = 0
    avg = 0
    num = list(map(int, input().split()))
    avg = sum(num[1:])/num[0]
    for i in range(num[0]):
        if num[i+1] > avg:
            score += 1
    print('%.3f' %float(score/num[0]*100)+'%')

 

  • n 변수는 input을 통해서 문제 사이클을 값을 얻을수 있다.
  • map()를 활용해서 리스트들을 전부 int 로 변환할 수 있다.
  • input().split()을 활용하여 뛰어쓰기 단위로 리스트값을 받을수 있다.
  • sum()을 활용하여 리스트 내용물들을 합할 수 있다.
  • num[1:]을 활용하여 리스트의 1번부터 값을 불러올 수 있다.
  • %.3f를 통해서 함수를 소수점 셋째자리 까지 값을 표현할 수 있다.

댓글