[python] 백준 4344 평균은 넘겠지

rse·2022년 12월 4일
0

알고리즘

목록 보기
19/44

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}%'

profile
기록을 합시다

0개의 댓글