Zdefiniujmy funkcję „nieopakowanego rozmiaru” u
listy zagnieżdżonej l
(zawierającej tylko listy) według następujących reguł:
- Jeśli
l
jest pusty, tou(l)
jest 1. - Jeśli
l
jest niepuste,u(l)
jest równe sumie nieopakowanych rozmiarów każdego elementul
plus 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[]
?