O agrupamento pega uma lista e a divide em novas listas de elementos adjacentes iguais. Por exemplo
[1,1,2,1,1] -> [[1,1],[2],[1,1]]
Se você escolher o tamanho desses grupos, receberá uma nova lista de números inteiros.
[1,1,2,1,1] -> [2,1,2]
Sua tarefa é escrever um programa que obtenha uma lista de números inteiros positivos e encontre o número de vezes que você pode agrupá-lo e aumentá-lo antes que a lista resultante tenha um único elemento. Por exemplo, a lista [1,2,3,3,2,1]
pode ser reagrupada 4 vezes
[1,2,3,3,2,1]
[1,1,2,1,1]
[2,1,2]
[1,1,1]
[3]
Isso é código-golfe, então as respostas serão pontuadas em bytes, com menos bytes sendo melhores.
Casos de teste
[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]
é uma entrada válida e deve dar 0
, correto?