본문 바로가기
백준

[python] 멘토와 멘티 - 26265 번

by 청원뿔세포 2022. 12. 18.

처음에 람다식으로 sort 내부에서 해결하려고 하였다.

멘티의 첫글자를 아스키코드로 변환하고 - 를 붙여서 크기비교를 해보았으나 멘티 이름은 한글자가 아니라 문자열이기 때문에 이 방법으로는 최적의 정답을 낼 수 없었다.

 

먼저 멘토 기준으로 정렬하고,

멘토를 key로 딕셔너리를 만들어 value 값으로 멘티 이름을 배열로 넣어주고 내림차순 정렬해주었다.

그리고 순서대로 출력해주면 된다.

import sys
n = int(input())
arr = []
for i in range(n):
    arr.append(((sys.stdin.readline().split())))
# arr = sorted(arr,key = lambda x:(x[0],-ord(x[1][0])))
arr.sort()
arr2 = {}
for i in arr:
    if i[0] in arr2.keys():
        arr2[i[0]].append(i[1])
    else:
        arr2[i[0]] = [i[1]]
for i in arr2:
    arr2[i].sort(reverse = True)

for i in arr2:
    for j in arr2[i]:
        print(i, j)

'백준' 카테고리의 다른 글

27866번: 문자와 문자열 [백준 Python]  (0) 2023.09.15
[python]은?행 털!자 1 - 26267  (0) 2022.12.19
[python]로봇 청소기 - 14503번  (0) 2022.12.17
[python]팬그램 - 10384번  (0) 2022.12.16
[python] 어항 정리 - 23291번  (0) 2022.12.14

댓글