Zdefiniujmy funkcję „nieopakowanego rozmiaru” ulisty zagnieżdżonej l(zawierającej tylko listy) według następujących reguł:
- Jeśli
ljest pusty, tou(l)jest 1. - Jeśli
ljest niepuste,u(l)jest równe sumie nieopakowanych rozmiarów każdego elementulplus jeden.
Twoim zadaniem jest napisanie programu (lub funkcji), który pobiera listę jako dane wejściowe i wyprowadza (lub zwraca) nieopakowany rozmiar listy.
Przypadki testowe:
[] -> 1
[[[]],[]] -> 4
[[[]],[[[[]],[]]],[[[]],[[[[]],[[],[[]]]]]]] -> 19
[[[[]]]] -> 4
To jest golf golfowy , więc wygrywa najkrótszy program (w bajtach).
[[[]][]]zamiast tego [[[]],[]]w twoim drugim przykładzie?
["This is some text [with square brackets in] ...[& maybe more than one pair]"]?
]wydaje się być najkrótszym rozwiązaniem w wielu językach, istnieje również wiele odpowiedzi, które faktycznie rozwiązują to wyzwanie za pomocą manipulacji listami, a przynajmniej w esolangach liczenie wystąpień ustalonego znaku również różni się od liczenia wystąpienia znaku wejściowego.
()zamiast[]?