728x90
from collections import defaultdict
import sys
input = sys.stdin.readline
N,M = map(int,input().split())
cnt = defaultdict(int)
length = defaultdict(int)
for _ in range (0,N):
a = input().rstrip()
if len(a) >= M:
cnt[a] += 1
length[a] = len(a)
words = []
dd = list(cnt.keys())
for word in dd:
words.append([word, cnt[word], length[word]])
words.sort(key = lambda x:(-x[1],-x[2],x[0]))
for word in words:
print(word[0])
문자열 정렬을 어떤 우선순위에 따라서 둘 것인지 확인해야할 필요가 있습니다.
key = lambda의 사용법을 익히기에 좋을 것 같습니다.
'코딩' 카테고리의 다른 글
[BOJ] 백준 11725 트리의 부모 찾기 python (0) | 2024.05.18 |
---|---|
[BOJ] 백준 1198 삼각형으로 자르기 python (0) | 2024.05.13 |
[BOJ] 백준 14503 로봇 청소기 python (0) | 2024.04.12 |
[BOJ] 백준 15683 감시 python (0) | 2024.04.10 |
[BOJ] 백준 14888 연산자 끼워넣기 python (0) | 2024.04.09 |