Давайте визначимо функцію "нерозгорнутого розміру" u
вкладеного списку l
(що містить лише списки) за такими правилами:
- Якщо
l
порожній, тоu(l)
1. - Якщо
l
він не порожній,u(l)
дорівнює сумі нерозгорнутих розмірів кожного елементаl
, плюс один.
Ваше завдання - написати програму (або функцію), яка приймає список як вхід і виводить (або повертає) нерозгорнутий розмір списку.
Випробування:
[] -> 1
[[[]],[]] -> 4
[[[]],[[[[]],[]]],[[[]],[[[[]],[[],[[]]]]]]] -> 19
[[[[]]]] -> 4
Це код-гольф , тому найкоротша програма (у байтах) виграє.
[[[]][]]
замість цього [[[]],[]]
у вашому другому прикладі?
["This is some text [with square brackets in] ...[& maybe more than one pair]"]
?
]
здається найкоротшим рішенням у багатьох мовах, є також багато відповідей, які насправді вирішують цю проблему за допомогою маніпуляції зі списком, і принаймні в есолангах підрахунок випадків фіксованого символу також сильно відрізняється від підрахунку виникнення вхідного символу.
()
замість[]
?