7015 : 상위 K개 단어
•시간제한: 1.000 S
•메모리제한: 256 MB
•제출: 5
•통과: 1
•만든사람: suakii
문제 설명
주어진 텍스트 문장에서 가장 자주 등장한 단어 상위 $K$개를 찾아 빈도와 함께 출력하는 프로그램을 작성하시오.
단, 분석 전에 단어 좌우에 붙은 구두점(마침표 `.`, 쉼표 `,`, 느낌표 `!`, 물음표 `?`, 세미콜론 `;`, 콜론 `:`)은 단어에서 완전히 제거하고 소문자로 통일해야 한다.
정렬 기준은 다음과 같다.
1. 빈도가 높은 순서(내림차순)로 정렬한다.
2. 빈도가 같은 경우, 단어의 사전 순서(오름차순)로 정렬한다.
[제약 조건]
• 상위 단어 수 $K$: $1 \le K \le 50$
• 총 문자 수: $\le 5{,}000$
[제약 조건]
• 상위 단어 수 $K$: $1 \le K \le 50$
• 총 문자 수: $\le 5{,}000$
입력 설명
첫째 줄에 정수 $K$가 주어집니다. ($1 \le K \le 50$)
둘째 줄에 본문 문장이 주어집니다. (총 문자 수 $\le 5{,}000$)
출력 설명
상위 단어와 빈도를 `[단어] [빈도]` 형식으로 한 줄에 하나씩 출력한다. 단어 종류가 적을 경우 있는 만큼만 출력한다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
3
The quick brown fox jumps over the lazy dog. The dog was very happy.
출력 예시
COPY
복사되었습니다!
복사되었습니다!
the 3
dog 2
brown 1
도움
구두점을 사전에 치환하여 제거하고 소문자 처리한 뒤 빈도 세기와 정렬을 진행한다.