Time Limit: 2s
Memory Limit: 128MB
이번에는 입력 문장에서 나타나는 단어의 발생 빈도를 구해봅시다.
입력으로 들어온 문장은 공백을 기준으로 여러 단어의 집합으로 이루어져 있습니다. 각각의 단어는 한번 혹은 여러번 나타날 수 있습니다. 각각의 단어가 전체 입력에서 나타나는 횟수를 기록하고, 이를 단어의 알파뱃 순으로 정렬하여 출력합니다.
예외조건으로, 주석에 포함된 단어는 무시합니다.
또한, 6글자보다 긴 단어는 6글자 이후는 무시합니다. (예: therapist는 therap로 간주함)
- Line 1 ~ EOF : 입력 문장
- 각 문장은 여러 단어가 공백(' ')을 구분자로 연결되어 구성됨
- 주석은 // 그리고 /* */ 2가지 방식이 모두 나타남
- Line 1 ~ 단어의 수 : 문자열 S 단일 정수 I
- S : 입력 단어
- I : 입력 단어의 발생 횟수
- 단어의 ASCII CODE를 기준으로 정렬하여 출력
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
HELLO 1 HELLO! 4 WORLD 1 _ 1 ascii 1 counti 1 fun! 1 is 1 word 1
풀이의 간결성을 위해 주석(/* , //)과 단어 사이에는 무조건 공백이 발생합니다.
입력으로 들어오는 데이터가 1100줄정도 되며, 등장하는 단어의 개수는 약 8000개정도 됩니다. -pichulia