Meydan okuma açıklaması
Bir öğe listesi / dizisi verildiğinde, ardışık yinelenen öğelerin tüm gruplarını görüntüleyin.
Giriş / çıkış açıklaması
Girişiniz bir liste / öğe dizisidir (hepsinin aynı türde olduğunu varsayabilirsiniz). Dilinizin sahip olduğu her türü desteklemenize gerek yoktur, ancak en az birini desteklemesi gerekir (tercihen int
, ancak boolean
çok ilginç olmasa da, türler de iyidir). Örnek çıktılar:
[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]]
Boş listelere gelince, çıktı tanımlanmamıştır - golf amaçlarınıza en uygun olan şey hiçbir şey, boş bir liste veya bir istisna olabilir. Ayrı bir liste listesi oluşturmak zorunda değilsiniz, bu yüzden bu da geçerli bir çıktıdır:
[1, 1, 1, 2, 2, 3, 3, 3, 4, 9] ->
1 1 1
2 2
3 3 3
4
9
Önemli olan grupları bir şekilde birbirinden ayırmaktır.
int
Örneğin s ile ayrılmış bir s dizisi , girişte s 0
olabileceğinden kötü bir fikir olacaktır 0
...
[4, 4, '', 2, 2, '', 9, 9]
veya [4, 4, [], 2, 2, [], 9, 9]
.