Definamos la función u
de "tamaño sin envolver" de una lista anidada l
(que contiene solo listas) mediante las siguientes reglas:
- Si
l
está vacío, entoncesu(l)
es 1. - Si
l
no está vacío,u(l)
es igual a la suma de los tamaños sin envolver de cada elementol
, más uno.
Su tarea es escribir un programa (o función) que tome una lista como entrada y produzca (o devuelva) el tamaño sin envolver de la lista.
Casos de prueba:
[] -> 1
[[[]],[]] -> 4
[[[]],[[[[]],[]]],[[[]],[[[[]],[[],[[]]]]]]] -> 19
[[[[]]]] -> 4
Este es el código de golf , por lo que gana el programa más corto (en bytes).
[[[]][]]
lugar de esto [[[]],[]]
en su segundo ejemplo?
["This is some text [with square brackets in] ...[& maybe more than one pair]"]
?
]
sí parece ser la solución más corta en muchos idiomas, también hay muchas respuestas que realmente resuelven este desafío a través de la manipulación de listas, y al menos en esolangs contar las ocurrencias de un carácter fijo también es bastante diferente de contar Las ocurrencias de un carácter de entrada.
()
lugar de[]
?