4305 - 연습 6.4 단어 빈도 순 정렬하기

Time Limit: 1s Memory Limit: 128MB

Submissions: 374 Solved: 119
Description

이번 문제는 앞선 문제들과 거의 유사합니다! 딱 한가지를 빼고 말이죠, 정렬의 방식입니다.

이전 문제에서 ASCII 코드 순으로 정렬했다면 이번 문제에서는 발생 빈도를 기준으로 정렬하여 출력해 봅시다. 발생 빈도가 같을때는 ASCII 코드를 기준으로 정렬합니다.

이번 문제에서는 6글자 이상이여도 그대로 출력합니다.

Input

- Line 1 ~ EOF : 입력 문장

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

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

Output

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

    - S : 입력 단어

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

    - 단어의 발생 횟수를 기준으로 정렬하여 출력

    - 발생 횟수가 동일한 단어들은 ASCII 코드를 기준으로 정렬하여 출력

Sample Input
HELLO WORLD // HELLO = 1, WORLD = 1
WHAT A WONDERFUL WORLD // WORLD 2, A 1, HELLO 1, WHAT 1, WONDERFUL 1
ALICE IN WONDERFUL WORLD // WORLD 3, WONDERFUL 2, A 1, ALICE 1, HELLO 1, IN 1, WHAT 1
words words words in hamlet // WORLD 3, words 3, WONDERFUL 2, A 1, ALICE 1, HELLO 1, IN 1, WHAT 1, hamlet 1, in 1
Sample Output
WORLD 3
words 3
WONDERFUL 2
A 1
ALICE 1
HELLO 1
IN 1
WHAT 1
hamlet 1
in 1