이번 문제는 점수가 평균이 넘는 학생의 비율을 알아보는 문제입니다.
그래서 우리에게 필요한 것은
1. 각 반의 평균
2. 평균이 넘는 비율
입니다.
1은 점수를 더한 값에서 학생수를 빼는 것이고
2는 for문을 돌려 평균값보다 높은 점수가 나올 때마다 카운트를 올리고
그 수를 학생수로 나누면 됩니다.
insert_data=int(input()) #insert_data는 입력받은 정수값이다
for i in range(insert_data): #입력받은 정수값만큼 i를 반복한다
score=list(map(int,input().split())) #score는 input받은 값을 스페이스로 구분하여 하나의 값들로 넣어준다
average=sum(score[1:])/score[0] #학생수는 score[0]에 입력하고 average는 score의 첫번째 입력받은 값부터 마지막 값을 더한 값과 score[0]으로 나눈 값이다
count=0 #평균 값이 나오면 카운트는 0부터 시작한다
for j in score[1:]: #score리스트에서 평균값을 구하는 동안
if j > average: #평균보다 큰 값이 나온다면
count+=1 #카운트를 올려준다
rate=count/score[0]*100
print(f'{rate:.3f}%')
여기서 처음 알았던 건 마지막에 print(f'{rage:.f}%') 였는데
.f은 문자열 포맷 연산자로 소수점 3자리까지 출력하는 것입니다.
문자열 포맷도 나중에 정리해야겠어요.
그럼 오늘도 수고하셨습니다~
좋은 풀이 잘 봤습니다. 오늘도 건승하세요^^