본문 바로가기

프로그래밍 언어/Python

[Hackerrank] 11. Finding the percentage

11. Finding the percentage

[ 난이도: Easy | 분야: Basic Data Types ]

1. 과제

과제 설명

주어진 코드 stub는 딕셔너리 안에 포함되어 있는 키/값을 읽어온다.(name:[marks])

marks의 평균을 구하고, 소수 두 자리까지 표현하라.

 

예제

marks의 키:값 쌍은

'alpha': [20,30,40]

'beta': [30,50,70]

query_name = 'beta'

query_name은 'beta'이므로 베타의 평균 점수는 (30+50+70)/3 = 50.0이다.

 

입력 형식

첫 번째 줄은 학생들의 수를 나타내는 정수 n을 나타낸다.

다음 n개의 줄은 공백으로 구분된 학생의 이름과 점수들을 나타낸다.

마지막 줄은 query_name을 포함하고 있고, 이 이름은 쿼리 안에 있다.

 

제약 사항

n은 2보다 크거나 같고 10보다 작거나 같다.

marks[i]는 0보다 크거나 같고 100보다 작거나 같다.

marks 배열의 길이는 3이다.

 

출력 형식

한 줄을 출력해라: 특정 학생 점수의 평균을 소수점 2자리까지 표현해라.

 

입력 예시0

3
Krishna 67 68 69
Arjun 70 98 63
Malika 52 56 60
Malika

 

출력 예시0

56.00

 

설명0

Malika의 점수는 {52,56,60}이고 이것의 평균은 (52+56+60)/3 => 56.00이다.

 

입력 예시1

2
Harsh 25 26.5 28
Anurag 26 28 30

 

출력 예시1

26.50

 

문제

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()
더보기

정답

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()
    
    mySum = sum(student_marks[query_name])
    myNum = len(student_marks[query_name])
    myAvg = "{:.2f}".format(mySum/myNum)
    print(myAvg)

 

 

 

 

 

 

©️Hackerrank. All Rights Reserved.

'프로그래밍 언어 > Python' 카테고리의 다른 글

[Hackerrank] 13. Tuples  (0) 2024.03.06
[Hackerrank] 12. Lists  (0) 2024.03.05
[Hackerrank] 10. Nested Lists  (0) 2024.03.02
[Hackerrank] 09. Find the Runner-Up Score!  (0) 2024.03.02
[Hackerrank] 08. List Comprehensions  (0) 2024.03.02