처음 n(인원수)를 입력받고
이름과, iq를 입력받는다.
iq가 높은순으로 3명 출력한다. 단, iq가 같으면 먼저 측정한 사람을 출력한다.
dict을 활용해서 풀려했지만 잘 되지 않아 리스트의 index를 찾아 해결하였다.
<망한코드>
n = int(input())
L = []
for i in range(n):
L.append(list(input().split()))
dict_L = dict(L)
print('dict_L', dict_L)
sorted_dict = sorted(dict_L.items(), key = lambda a : a[1] , reverse = True)
print('sorted_dict', sorted_dict)
for i in range(3):
print(list(sorted_dict[i])[0])
<문제 해결>
n = int(input())
L = []
name = []
iq = []
for i in range(n):
a, b = input().split()
name.append(a)
iq.append(int(b))
for i in range(3):
max_index = iq.index(max(iq))
print(name[max_index])
name.pop(max_index)
iq.pop(max_index)
'<코딩테스트> > [기타 문제-기초]' 카테고리의 다른 글
[011] 림보 (0) | 2024.09.19 |
---|---|
[010] 기억상실 (0) | 2024.09.15 |
[007~009] 문제풀이 (0) | 2024.09.15 |
[006]가장 큰 나머지 (0) | 2024.09.15 |
[005] ID만들기 (1) | 2024.09.15 |