Descrizione della sfida
Dato un elenco / matrice di elementi, visualizza tutti i gruppi di elementi consecutivi ripetuti.
Descrizione input / output
Il tuo input è un elenco / matrice di elementi (puoi presumere che siano tutti dello stesso tipo). Non è necessario supportare ogni tipo di linguaggio, ma deve supportarne almeno uno (preferibilmente int
, ma anche tipi come boolean
, sebbene non molto interessanti, vanno bene). Output di esempio:
[4, 4, 2, 2, 9, 9] -> [[4, 4], [2, 2], [9, 9]]
[1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4] -> [[1, 1, 1], [2, 2], [3, 3, 3], [4, 4, 4, 4]]
[1, 1, 1, 3, 3, 1, 1, 2, 2, 2, 1, 1, 3] -> [[1, 1, 1], [3, 3], [1, 1], [2, 2, 2], [1, 1], [3]]
[9, 7, 8, 6, 5] -> [[9], [7], [8], [6], [5]]
[5, 5, 5] -> [[5, 5, 5]]
['A', 'B', 'B', 'B', 'C', 'D', 'X', 'Y', 'Y', 'Z'] -> [['A'], ['B', 'B', 'B'], ['C'], ['D'], ['X'], ['Y', 'Y'], ['Z']]
[True, True, True, False, False, True, False, False, True, True, True] -> [[True, True, True], [False, False], [True], [False, False], [True, True, True]]
[0] -> [[0]]
Per quanto riguarda gli elenchi vuoti, l'output non è definito - può essere nulla, un elenco vuoto o un'eccezione - qualunque cosa si adatti meglio ai tuoi scopi di golf. Non è necessario creare un elenco separato di elenchi, quindi anche questo è un risultato perfettamente valido:
[1, 1, 1, 2, 2, 3, 3, 3, 4, 9] ->
1 1 1
2 2
3 3 3
4
9
L'importante è mantenere i gruppi separati in qualche modo.
int
s separati da, per esempio, 0
s sarebbe una cattiva idea poiché ci possono essere 0
s nell'input ...
[4, 4, '', 2, 2, '', 9, 9]
oppure [4, 4, [], 2, 2, [], 9, 9]
.