Algorithm/백준

백준 4344번 평균은넘겠지

코딩쪼앙 2022. 3. 14. 18:22

문제

배열을 입력받을 배열의 개수를 입력받은 후 a만큼 돌면서 배열에 입력을 받아 평균값을 계산해서 이를 넘는 비율을 계산한다.

a = int(input())
data = []
for i in range(a):
    cnt = 0
    data = list(map(int,input().split()))
    #평균 구하기
    data.pop(0)
    average = sum(data) / len(data)
    #평균 넘는 비율 구하기
    for j in data:
        if j > average:
            cnt += 1
    result = cnt / len(data) * 100
    print("{:.3f}%".format(result))

배열의 맨 첫부분은 평균점수를 구할 때 모든 과목의 합을 구하는 과정에서 필요가 없으므로 pop해서 데이터를 빼준다.

그 후 평균점수를 구하여 그 평균 점수를 넘는 학생의 수가 몇명인지 구한다.

비율을 구하는 공식은  평균을 넘은 학생 수 / 전체 학생의수 x 100 이므로 이 연산을 수행하여 소수점 셋째 자리까지의 값을 출력한다.

한 배열이 끝나고 다음 배열을 계산하기 위해선 다음 계산에 필요한 배열의 데이터도 새로 입력받고 평균을 넘은 학생의 수도 처음 0명부터 다시 구해야 하기 때문에 이를 구하기 위한 변수들은 꼭 첫 번째 for문 안에 선언해주어야 한다.

'Algorithm > 백준' 카테고리의 다른 글

백준 2675번 문자열반복  (0) 2022.03.17
백준 10809번 알파벳찾기  (0) 2022.03.17
백준 11720번 숫자의합  (0) 2022.03.14
백준 8958번 OX퀴즈  (0) 2022.03.14
백준 2577번 숫자의 개수  (0) 2022.03.14