문제 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])
궁금한점 혹은 모르는점 어떤 질문이든 댓글은 언제나 환영입니다.
'백준' 카테고리의 다른 글
백준 7812 중앙트리 (Java) (2) | 2024.11.30 |
---|---|
백준 12970 AB (3) | 2024.11.15 |
백준 1417 국회의원 선거 (1) | 2024.01.03 |
백준 17425 약수의 합 (1) | 2024.01.03 |
백준 9660 돌 게임6 (2) | 2023.12.21 |