Análise de frequência de palavras em um texto

Go Medium maps

Tarefa «Análise de frequência de palavras em um texto»

Escreva um programa que leia um texto de várias linhas, conte a frequência de cada palavra (ignorando maiúsculas/minúsculas) e exiba a palavra e sua frequência em ordem decrescente de frequência. Em caso de mesma frequência, as palavras são exibidas em ordem lexicográfica. Uma palavra é considerada uma sequência de letras (cirílico e latino), separada por espaços, sinais de pontuação e caracteres de nova linha. Ignore sinais de pontuação e números.

Formato de Entrada

A entrada consiste em várias linhas de texto (até 1000 linhas, cada linha com até 1000 caracteres). As linhas podem conter espaços, sinais de pontuação, números e letras.

Formato de Saída

Exiba cada palavra única e sua frequência no formato 'palavra: frequência', uma por linha, ordenadas por frequência decrescente e, em caso de empate, pela ordem crescente da palavra (lexicograficamente).

Exemplos

Exemplo 1

ENTRADA
Hello world! Hello everyone.
SAÍDA
hello: 2 everyone: 1 world: 1

Exemplo 2

ENTRADA
Go is awesome. Go is fast.
SAÍDA
go: 2 is: 2 aweSome: 1 fast: 1

Exemplo 3

ENTRADA
Привет, мир! Привет всем.
SAÍDA
привет: 2 всем: 1 мир: 1
main.go