본문 바로가기
👩🏻‍💻 Front-end/👾 Algorithm

백준 4344 - 평균은 넘겠지 (Python)

by su-no 2022. 5. 1.

문제

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

입력

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

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

출력

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

풀이

c = int(input())

for i in range(c):
    data = list(map(int, input().split()))
    # data[0]은 학생 수니까, data[1:]를 socres라는 list로 따로 만들어주는 방법도 있음.
    # scores = list(map(int, data[1:]))
    
    # 대신에 나는 data[0]를 n_std라는 변수로 따로 할당했음.
    n_std = data[0]
    average = (sum(data)-n_std)/n_std
    
    count = 0
    for j in range(1, n_std+1):
        if data[j] > average:
            count += 1
            
    print(f"{count/n_std*100:.3f}%")
    # print(format(count/n_std*100, ".3f"), "%", sep="")

생각

평균을 넘는 학생을 구하랬는데 평균 이상 학생을 구해서 틀렸다. 실전 코테에서 이렇게 틀리면 진짜 억울하겠지?

문제 똑바로 보자,,,