평균을 구하는 간단한 문제이다:
if __name__ == '__main__':
n = int(input())
student_marks = {}
for _ in range(n):
name, *line = input().split()
scores = list(map(float, line))
student_marks[name] = scores
query_name = input()
print("%.2f" %((sum(student_marks[str(query_name)]))/len(student_marks[str(query_name)])))
여기서 주의해야 할 점은 name, *line = input().split() 이다. 이 코드 이후, score = list(map(float, line)) 이라는 부분이 나오는데, 이는 이전에 내가 올렸던 포스팅 중에 *args와 **kwargs을 기억할 것이다. 이 별을 통해 argument를 통과시킴으로써, 여러개의 숫자를 입력할 수 있음과 동시에, scores라는 리스트에 line에 입력했던 값들을 저장시켜주는 것이다.
그 다음은 쉽다. 단순히 그 query_name에 나오는 학생의 이름을 통해 점수들을 불러오고, 그 점수들의 합과 점수들이 들어 있는 리스트의 길이로 나누면 평군이 된다.
'알고리즘 테스트 > Hackerrank 문제풀이 및 해설' 카테고리의 다른 글
<Hackerrank 문제풀이: 파이썬> Lists (0) | 2020.11.15 |
---|---|
<Hackerrank 문제풀이: 파이썬> Detect Floating Point Number (0) | 2020.11.15 |
<Hackerrank 문제풀이: 파이썬> Nested Lists (0) | 2020.11.13 |
<Hackerrank 문제풀이: 파이썬> Find the Runner-Up Score! (0) | 2020.11.13 |
<Hackerrank 문제풀이: 파이썬> Inner and Outer (0) | 2020.11.12 |