[백준] 20920 영단어 암기는 괴로워 - 문자열, 구현

jckim22·2023년 7월 28일
0

[ALGORITHM] STUDY (PS)

목록 보기
51/86

난이도

Silver 3

풀이 참고 유무

X

막힌 부분

X

문제

문제 바로가기

입력

출력

예제 입력

7 4
apple
ant
sand
apple
append
sand
sand

예제 출력

sand
apple
append

문제 검토

sorted 함수를 사용해야할 것으로 보인다.

풀이(python)

Python

from sys import stdin
from collections import defaultdict
n,m=map(int,stdin.readline().split())
word=[stdin.readline().rstrip() for _ in range(n)]
words=defaultdict(int)
for x in word:    
    if len(x)>=m:        
        words[x]+=1
words=sorted(words.items(),key=lambda x:(-x[1],-len(x[0]),x[0]))
for x in words:        
    print(x[0])

주어진 조건을 그대로 구현했다.

걸린 시간

13:11

총평

dictonary를 정렬 하려면 items()를 사용하고 items()는 key를 [0]에 value를 [1]로 반환해준다.

역순으로 정렬하고 싶으면 reverse=True가 있지만, 이건 모든 순위의 조건을 다 내림차순으로 정렬하기 때문에 부분적으로 내림차순 정렬을 원한다면 앞에 - 를 붙이면 된다.

profile
개발/보안

0개의 댓글