2018 C Chapter 6 (Week 12)

From: 2018-03-03 00:00:00 To: 2018-06-25 23:59:59 Now: 2024-11-21 21:45:16 Status: Public

B - 연습 6.2 어떤 단어가 몇번 사용되었나요?

Time Limit: 2s Memory Limit: 128MB

Submissions: 984 Solved: 184
Description

이번에는 입력 문장에서 나타나는 단어의 발생 빈도를 구해봅시다.

입력으로 들어온 문장은 공백을 기준으로 여러 단어의 집합으로 이루어져 있습니다. 각각의 단어는 한번 혹은 여러번 나타날 수 있습니다. 각각의 단어가 전체 입력에서 나타나는 횟수를 기록하고, 이를 단어의 알파뱃 순으로 정렬하여 출력합니다.

예외조건으로, 주석에 포함된 단어는 무시합니다.

또한, 6글자보다 긴 단어는 6글자 이후는 무시합니다. (예: therapist는 therap로 간주함)

Input

- Line 1 ~ EOF : 입력 문장

    - 각 문장은 여러 단어가 공백(' ')을 구분자로 연결되어 구성됨

    - 주석은 // 그리고 /* */ 2가지 방식이 모두 나타남

Output

- Line 1 ~ 단어의 수 : 문자열 S 단일 정수 I

    - S : 입력 단어

    - I : 입력 단어의 발생 횟수

    - 단어의 ASCII CODE를 기준으로 정렬하여 출력

Sample Input
HELLO WORLD // HELLO = 1, WORLD = 1
HELLO! HELLO!! HELLO!!! HELLO!!! // HELLO 1, HELLO! 4, WORLD 1
/* WORDS IN COMMENT ARE DISCARDED */ // HELLO 1, HELLO! 4, WORLD 1
// WORDS IN COMMENT ARE DISCARDED // HELLO 1, HELLO! 4, WORLD 1
counting word is fun! // HELLO 1, HELLO! 4, WORLD 1, counti 1, fun! 1, is 1, word 1
ascii _ // HELLO 1, HELLO! 4, WORLD 1, _ 1, ascii 1, counti 1, fun! 1, is 1, word 1
Sample Output
HELLO 1
HELLO! 4
WORLD 1
_ 1
ascii 1
counti 1
fun! 1
is 1
word 1
Hint

풀이의 간결성을 위해 주석(/* , //)과 단어 사이에는 무조건 공백이 발생합니다.

입력으로 들어오는 데이터가 1100줄정도 되며, 등장하는 단어의 개수는 약 8000개정도 됩니다. -pichulia