Baekjoon Online Judge
[python]4344.평균은 넘겠지
((•_•))
2021. 1. 2. 14:06

대학교 새내기들에게 인생이 무엇인가를 보여주는 잔인한 프로그램을 만드는 문제이다.
나도 대학교 때 평균은 넘겠지라는 생각을 했었는데 성적을 보고 세상이 호락호락 하지 않구나를 느꼈다.
평균을 넘는 점수의 비율을 출력하는 프로그램이다.
1 2 3 4 5 6 7 8 9 10 | case = int(input()) #케이스 개수 입력 a=0 #평균을 넘는 학생 수를 보관 for i in range(case): num_list = list(map(int, input().split())) #사람 수 및 점수 입력 avgS=sum(num_list)/num_list[0] #평균 계산 for j in range(1,num_list[0]+1): if num_list[j]>=avgS: a+=1 print('%.3f%% '%(a/num_list[0]*100)) #비율 출력 a=0 | cs |
처음에 이렇게 했었는데 4번째 케이스가 3 70 90 81로 입력 되었을 때, 비율이 66.667%이 나와야 하는데 33.333%가 나와 이유를 분석했다. 4번째의 평균은 81.333으로 마지막 81이 평균을 넘는 비율에 포함이 되지 않아서임을 알았다. 그래서 평균의 소수점을 버리기로 결정했다. 결론적으로 7번째 코드를 수정하여,
1 2 3 4 5 6 7 8 9 10 | case = int(input()) #케이스 개수 입력 a=0 #평균을 넘는 학생 수를 보관 for i in range(case): num_list = list(map(int, input().split())) #사람 수 및 점수 입력 avgS=sum(num_list)/num_list[0] #평균 계산 for j in range(1,num_list[0]+1): if num_list[j]>=int(avgS): a+=1 print('%.3f%% '%(a/num_list[0]*100)) #비율 출력 a=0 | cs |
이렇게 나왔다.