공부 자료/알고리즘

(Python/파이썬) 백준 4344번 - 평균은 넘겠지

뚜루뚜루세니 2021. 7. 31. 15:24
728x90

문제출처: https://www.acmicpc.net/problem/4344

1. 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
= int(input())
 
for i in range(c):
    num = list(map(int,input().split()))
    avg = sum(num[1:])/num[0#num[0]은 학생수 그 이후부터는 점수
 
    cnt = 0
    
    for score in num[1:]:
        if score>avg:
            cnt += 1
 
    rate = cnt/num[0]*100
    print(f'{rate:.3f}%')
    
cs

2. 해결과정

for문 상단에서 테스트 케이스 수로 입력받은 만큼 for문 반복 for문 아래에서 학생수와 점수를 num 리스트에 저장

첫번째 요소는 학생수이고, 그 이후 요소는 점수이다.

평균을 구한 후에 평균을 넘는 학생을 cnt해주고, 비율을 구해서 출력해주면 된다.

출력문을 작성시 소수 3째자리까지 표시이기 때문에 f-string을 이용했다.

 

3. 느낀점

다른 것은 어렵지 않았지만 출력할때 소수 자리 수를 제한하는 것을 찾아서 풀었던 문제였다.

f-string 중괄호 { } 안에서 : 구분자를 이용하고 : 구분자 오른편에. 자릿수 f를 써준다.

자릿수 뒤에 붙는 f는 실수의 f를 의미한다.

728x90