문제 분류 수업 진도 대회 채점현황 순위 질문게시판
게임
스도쿠 타이핑 리듬 타자게임 타이핑 테트리스 타이핑 인베이더 타이핑 지뢰찾기 8192 공룡게임 타이핑 플래피버드 랭킹
로그인

7015 : 상위 K개 단어

•시간제한: 1.000 S •메모리제한: 256 MB •제출: 5 •통과: 1 •만든사람: suakii

7015 : 상위 K개 단어

시간 1.000s · 메모리 256MB · 제출 5 · 정답 1

문제 설명

주어진 텍스트 문장에서 가장 자주 등장한 단어 상위 $K$개를 찾아 빈도와 함께 출력하는 프로그램을 작성하시오. 단, 분석 전에 단어 좌우에 붙은 구두점(마침표 `.`, 쉼표 `,`, 느낌표 `!`, 물음표 `?`, 세미콜론 `;`, 콜론 `:`)은 단어에서 완전히 제거하고 소문자로 통일해야 한다. 정렬 기준은 다음과 같다. 1. 빈도가 높은 순서(내림차순)로 정렬한다. 2. 빈도가 같은 경우, 단어의 사전 순서(오름차순)로 정렬한다.

[제약 조건]
• 상위 단어 수 $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

도움

구두점을 사전에 치환하여 제거하고 소문자 처리한 뒤 빈도 세기와 정렬을 진행한다.
NOTICE  —  BFStudy OJ 정보샘
애들아, 문제 많이 풀고 게임 잠깐 하는거지?
— 정보샘