본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Bronze 1][Python] 4344번 : 평균은 넘겠지

by 빛밤하늘 2021. 5. 9.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

4344번: 평균은 넘겠지

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

www.acmicpc.net

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# 첫째 줄에 테스트 케이스의 개수 C를 입력합니다.
C = int(input())

# 테스트 케이스의 수 C만큼 반복해봅니다.
for test_case_idx in range(C):
    # 학생의 수 N, N명의 점수를 공백으로 구분해 입력합니다.
    test_case = input().split(' ')
    # 학생의 수 N과 N명의 점수를 분리해서 각각 변수를 선언해 저장합니다.
    # 모든 값을 정수르 변환합니다.
    N = int(test_case[0])
    scores = list(map(int, test_case[1:]))

    # 평균을 구하는 변수를 선언합니다.
    avg = sum(scores) / N

    # 평균 점수보다 높은 점수만 필터링하여 저장하는 리스트 변수를 선언합니다.
    exceed_scores = list(filter(lambda score: score > avg, scores))
    # 평균 점수보다 높은 점수들의 개수를 저장하는 변수를 선언합니다.
    exceed_scores_count = len(exceed_scores)

    # 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력합니다.
    print("{:.3f}%".format(round(exceed_scores_count / N * 100, 3)))

결과

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글