Il raggruppamento prende un elenco e lo divide in nuovi elenchi di elementi adiacenti uguali. Per esempio
[1,1,2,1,1] -> [[1,1],[2],[1,1]]
Se poi prendi la lunghezza di questi gruppi otterrai un nuovo elenco di numeri interi
[1,1,2,1,1] -> [2,1,2]
Il tuo compito è scrivere un programma che prende un elenco di numeri interi positivi e trova il numero di volte che puoi raggruppare e allungarlo prima che l'elenco risultante abbia un singolo elemento. Ad esempio, l'elenco [1,2,3,3,2,1]
può essere raggruppato 4 volte
[1,2,3,3,2,1]
[1,1,2,1,1]
[2,1,2]
[1,1,1]
[3]
Questo è code-golf, quindi le risposte verranno classificate in byte con un numero inferiore di byte migliori.
Casi test
[1,2,3,3,2,1] -> 4
[1,2,3,4,5,6,7] -> 2
[1,1,1,1,1,1] -> 1
[2] -> 0
[1,2,4] -> 2
[1,2,2,1,1,2] -> 4
[1,2,2,1,1,2,1,2,2] -> 5
[1] -> 0
[1]
è un input valido e dovrebbe dare 0
, giusto?