백준

백준 20920 영단어 암기는 괴로워

콩순이냉장고 2024. 1. 3. 22:34

문제 URL : https://www.acmicpc.net/problem/20920

 

20920번: 영단어 암기는 괴로워

첫째 줄에는 영어 지문에 나오는 단어의 개수 $N$과 외울 단어의 길이 기준이 되는 $M$이 공백으로 구분되어 주어진다. ($1 \leq N \leq 100\,000$, $1 \leq M \leq 10$) 둘째 줄부터 $N+1$번째 줄까지 외울 단

www.acmicpc.net

문제 접근법:

정렬기준대로 정렬하라는 문제입니다.

그러나 단어가 몇개나오는지는 map을 이용해야겠죠?

 

map을 이용해서 m개이상인것을 추출하고

 

1,2,3번 각자 조건대로 정렬하시면됩니다.

 

소스코드:

import sys
from collections import Counter
input = sys.stdin.readline
n,m = map(int,input().rstrip().split())
l = []
for i in range(n):
    t = input().rstrip()
    if len(t)>=m :l.append(t)
c = Counter(l)
l = list(c)
c2 = sorted(c.items(),key=lambda x:(-x[1],-len(x[0]),x[0]))
for i in range(len(c2)):print(c2[i][0])

궁금한점 혹은 모르는점 어떤 질문이든 댓글은 언제나 환영입니다.