[파이썬/python] 백준 20920번 : 영단어 암기는 괴로워(🥈3)

 

 

import sys
input = sys.stdin.readline

d = {}

n,m = map(int,input().split())

for i in range(n):
    word = input().rstrip()
    if len(word) >= m:
        d[word] = d.get(word,0) + 1

s = sorted(d.items(), key = lambda x : (-x[1], -len(x[0]), x[0]))   

for i in s:
    print(i[0])

끝의 개행문자를 제거하기 위해 rstrip() 사용

 

lambda를 이용하여

1. value값을 기준으로 내림차순으로 정렬

2. 같은 value값 내에선 글자 길이가 긴 순으로 정렬

3. 사전 순으로 정렬

으로 기준 값을 정해준다.

 

-를 붙이면 내림차순, 안 붙이면 오름차순 정렬인 것을 기억해두자.

comment