평평하지 않은 정수 목록이 주어지면, 가장 작은 중첩 레벨부터 시작하여 왼쪽에서 오른쪽으로 읽을 때 입력 목록에서 원래 순서의 값으로 각 중첩 레벨의 정수를 포함하는 목록의 목록을 출력하십시오. 입력 목록에서 둘 이상의 목록이 동일한 중첩 수준에있는 경우 출력에서 단일 목록으로 결합되어야합니다. 출력에는 빈 목록이 포함되지 않아야합니다. 목록 만 포함 된 중첩 수준은 완전히 건너 뛰어야합니다.
정수가 모두 (포함) 범위에 있다고 가정 할 수 있습니다 [-100, 100]. 목록의 최대 길이 또는 중첩 깊이는 없습니다. 입력에 빈 목록이 없습니다. 모든 중첩 수준에는 하나 이상의 정수 또는 목록이 포함됩니다.
입력 및 출력은 해당 언어의 기본 목록 / 배열 / 열거 가능 / iterable / 등에 있어야합니다. 형식 또는 언어에 시퀀스 유형이없는 경우 합리적이고 명확한 형식으로 표시하십시오.
예
[1, 2, [3, [4, 5], 6, [7, [8], 9]]] => [[1, 2], [3, 6], [4, 5, 7, 9], [8]]
[3, 1, [12, [14, [18], 2], 1], [[4]], 5] => [[3, 1, 5], [12, 1], [14, 2, 4], [18]]
[2, 1, [[5]], 6] => [[2, 1, 6], [5]]
[[54, [43, 76, [[[-19]]]], 20], 12] => [[12], [54, 20], [43, 76], [-19]]
[[[50]], [[50]]] => [[50, 50]]
Cases[#,_?AtomQ,{i}]~Table~{i,Depth@#}~DeleteCases~{}&