다음 규칙에 따라 u
중첩 목록 l
( 목록 만 포함) 의 "포장 해제 된 크기"기능 을 정의 해 보겠습니다 .
l
비어 있으면u(l)
1입니다.l
비어 있지 않은 경우u(l)
의 모든 요소에 래핑되지 않은 크기의 합에l
1을 더한 값과 같습니다.
당신의 임무는리스트를 입력으로 취하고리스트의 랩핑되지 않은 크기를 출력 (또는 리턴)하는 프로그램 (또는 함수)을 작성하는 것입니다.
테스트 사례 :
[] -> 1
[[[]],[]] -> 4
[[[]],[[[[]],[]]],[[[]],[[[[]],[[],[[]]]]]]] -> 19
[[[[]]]] -> 4
이것은 code-golf 이므로 가장 짧은 프로그램 (바이트)이 이깁니다.
[[[]][]]
대신 입력 할 수 [[[]],[]]
있습니까?
["This is some text [with square brackets in] ...[& maybe more than one pair]"]
얼마입니까?
]
많은 언어에서 수를 세는 것이 가장 짧은 해결책 인 것처럼 보이지만 실제로 목록 조작을 통해이 문제를 해결하는 많은 답변이 있으며, 적어도 esolangs에서는 고정 문자의 발생 수를 세는 것과 상당히 다릅니다. 입력 문자의 발생
()
대신에 사용할 수 있습니까[]
?