Le regroupement prend une liste et la divise en nouvelles listes d'éléments adjacents égaux. Par exemple
[1,1,2,1,1] -> [[1,1],[2],[1,1]]
Si vous prenez ensuite la longueur de ces groupes, vous obtenez une nouvelle liste d'entiers
[1,1,2,1,1] -> [2,1,2]
Votre tâche consiste à écrire un programme qui prend une liste d'entiers positifs et à trouver le nombre de fois que vous pouvez le grouper et le longueur avant que la liste résultante ait un seul élément. Par exemple la liste [1,2,3,3,2,1]
peut être regroupée 4 fois
[1,2,3,3,2,1]
[1,1,2,1,1]
[2,1,2]
[1,1,1]
[3]
Il s'agit de code-golf, donc les réponses seront notées en octets, moins d'octets seront meilleurs.
Cas de 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]
est une entrée valide et devrait donner 0
, correct?