문제링크
문제 설명
- 주어진 학생의 전체 수와 각 학생들의 점수들을 합산하여 평균을 내리고, 그 평균이 넘는 학생들의 비율을 반올림하여 반환하라.
주제
난이도
지극히 개인적인 문제 풀이
for i in range(lists):
input_value = list(map(int, input().split()))
if len(input_value) > 1:
student = input_value[0]
scores = input_value[1:]
student_count = 0
score_avg = sum(scores)/student
for score in scores:
if score > score_avg:
student_count += 1
student_avg = student_count/student * 100
print("{:.3f}%".format(student_avg))
배운 점
- 다중 input값을 받을 시 리스트에 넣어 for문으로 처리가 가능핟.
- 배열 내 합계는 for문을 사용하지않더라도 sum으로 계산이 가능하다.
- sum은 숫자로만 이루어져 있는 iterable 자료형 (인덱스나 튜플처럼 인덱스 순환 접근이 가능한) 의 합계를 반환한다.
- round는 소수점이 .0 일 시 길이 조절이 안되지만 f-string을 이용하면 가능하다.