https://www.acmicpc.net/problem/4344
평균을 구하고, 평균 넘는 비율을 구하는 문제.
c = int(input())
average = 0
for i in range(c):
score = list(map(int, input().split()))
human = score[0]
average = sum(score[1:]) / human
num = 0
for q in score[1:]:
if q > average:
num += 1
answer = (num/human) *100
print(f'{answer:.3f}%')
설명
c = int(input())
average = 0
먼저 몇 번 반복 할 것인지 입력을 받는다.
평균을 저장할 변수를 만든다.
for i in range(c):
score = list(map(int, input().split()))
human = score[0]
average = sum(score[1:]) / human
num = 0
c만큼 반복하고 점수를 리스트 형식으로 입력
학생 수를 따로 저장할 변수를 만들고
평균을 저장해준다.
근데 다른 코드 보니까 굳이 학생 수 변수 안만들고 진행하던데...ㅎㅎ 그게 코드도 짧고 깔끔해서 좋은 것 같기도..?
for q in score[1:]:
if q > average:
num += 1
answer = (num/human) *100
print(f'{answer:.3f}%')
if문으로 비교했을 때 q가 평균보다 높을시 num을 하나 더해준다.
마지막으로 출력을 해주면 된다.
f-string 표기법으로 작성.
사용법은 f'{변수이름:.몇자리수까지 출력할 껀지f}%'