HackerRank Python: Find the Runner-Up Score! 외 2문제
Find the Runner-Up Score!:
Given the participants’ score sheet for your University Sports Day, you are required to find the runner-up score.
You are given n scores. Store them in a list and find the score of the runner-up.
if __name__ == '__main__':
n = int(input())
arr = map(int, input().split())
arr = list(set(arr))
arr.sort()
print(arr[-2])
Nested Lists:
Given the names and grades for each student in a class of N students,
store them in a nested list and print the name(s) of any student(s) having the second lowest grade.
Note: If there are multiple students with the second lowest grade, order their names alphabetically and print each name on a new line.
if __name__ == '__main__':
lst = []
for _ in range(int(input())):
name = input()
score = float(input())
lst.append([name,score])
sec_highest = sorted(set([score for name,score in lst]))[1]
print('\n'.join(sorted([name for name,score in lst if score == sec_highest])))
Finding the percentage:
The provided code stub will read in a dictionary containing key/value pairs of name:[marks] for a list of students.
Print the average of the marks array for the student name provided, showing 2 places after the decimal.
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()
lst = student_marks[query_name]
print("{:.2f}".format(sum(lst)/len(lst)))