Menu
Coddy logo textTech

Ripasso - Contatore di frequenza

Fa parte della sezione Logica e flusso del percorso Ruby di Coddy. Lezione 37 di 56.

Metti insieme gli hash con valori predefiniti, l’iterazione e l’ordinamento dei capitoli precedenti in una classica sfida: un rapporto sulla frequenza delle parole.

challenge icon

Sfida

Medio

Leggi una singola riga di input, una frase. Crea una mappatura Hash.new(0) che associa ogni parola (separata in base agli spazi bianchi e convertita in minuscolo) alla sua frequenza.

Quindi stampa:

  1. Il numero totale di parole uniche
  2. Una riga per ogni parola, in ordine di frequenza decrescente (a parità di frequenza, in ordine alfabetico per parola), in questo formato: <word>: <count>

Per l'input the quick brown fox jumps over the lazy dog the dog, l'output è:

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

Provalo tu

input = gets.chomp

# TODO: crea un Hash.new(0) che associ ogni parola al suo conteggio, poi stampa:
#   1) il numero di parole uniche
#   2) le voci ordinate per conteggio desc e, a parità di conteggio, per parola asc

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Ruby online