Menu
Coddy logo textTech

Recapitulação - Contador de Frequência

Parte da seção Lógica e Fluxo do Journey de Ruby da Coddy — lição 37 de 56.

Reúna hashes com valores padrão, iteração e ordenação dos capítulos anteriores em um desafio clássico: um relatório de frequência de palavras.

challenge icon

Desafio

Médio

Leia uma única linha de entrada, uma frase. Construa um Hash.new(0) mapeando cada palavra (dividida por espaços em branco, em letras minúsculas) para sua frequência.

Em seguida, imprima:

  1. O número total de palavras únicas
  2. Uma linha por palavra em ordem decrescente de frequência (empates resolvidos em ordem alfabética pela palavra) neste formato: <word>: <count>

Para a entrada the quick brown fox jumps over the lazy dog the dog, a saída é:

8
the: 3
dog: 2
brown: 1
fox: 1
jumps: 1
lazy: 1
over: 1
quick: 1

Experimente você mesmo

input = gets.chomp

# TODO: construir um Hash.new(0) de palavra → contagem, então imprimir:
#   1) o número de palavras únicas
#   2) entradas ordenadas por contagem decrescente, empates por palavra crescente

Todas as lições de Lógica e Fluxo