참고 : 이것은 일련의 어레이 조작 문제 에서 2 위입니다 . 이전 도전에 대해서는 여기를 클릭하십시오 .
중첩 된 목록 분리
중첩 된 목록에서 값을 분리하려면 값을 병합 한 다음 각 값을 랩핑하여 이전과 동일한 중첩 깊이에있게하십시오.
즉,이 목록은 다음과 같습니다.
[1, [2, 3], [4, 4, [5, 2], 1]]
될 것입니다 :
[1, [2], [3], [4], [4], [[5]], [[2]], [1]]
도전
당신의 임무는 (언어 한계 내에서) 양의 정수의 중첩 목록을 가져 와서이 분리 작업을 수행하는 프로그램을 작성하는 것입니다.
리스트를 인수로 사용하는 함수 또는 I / O를 수행하는 전체 프로그램을 제출할 수 있습니다.
이것이 code-golf 이므로 가장 짧은 제출 (바이트)이 이깁니다! *
* 표준 골프 허점은 금지되어 있습니다. 당신은 훈련을 알고 있습니다.
테스트 사례
입력 목록에는 언어의 표준 정수 크기의 정수만 포함됩니다. 언어의 제약으로 언어가 경쟁하는 것을 방지하기 위해 10보다 큰 깊이에 값이 중첩되지 않습니다.
입력에 빈 하위 목록이 없다고 가정 할 수 있습니다. 예를 들어- [[5, []]]
제공되지 않습니다. 그러나 기본 목록은 비어있을 수 있습니다.
[] -> []
[[1, 2]] -> [[1], [2]]
[3, [4, 5]] -> [3, [4], [5]]
[3, [3, [3]]] -> [3, [3], [[3]]]
[[6, [[7]]]] -> [[6], [[[7]]]]
[[5, 10], 11] -> [[5], [10], 11]
코너 케이스를 놓친 경우 주저하지 말고 의견을 남겨주십시오.
예
예를 들어 빠른 (비 굴절) Python 3 솔루션을 함께 던졌습니다 . repl.it에서 테스트 할 수 있습니다 .