처음에 람다식으로 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 |
댓글