때로는 코드에 상수 행렬 목록이 있습니다.
[ [[1, 0],
[0, 1]],
[[1, 0],
[0,-1]],
[[0, 1],
[1, 0]],
[[0,-1],
[1, 0]] ]
스크린 부동산의 끔찍한 사용입니다. 차라리 서로 옆에 쓰는 것이 훨씬 낫습니다.
[ [[1, 0], [[1, 0], [[0, 1], [[0,-1],
[0, 1]], [0,-1]], [1, 0]], [1, 0]] ]
이것은 여전히 구문 적으로 유효한 중첩 목록이며, 더 이상 직사각형이 아니며 매우 다른 구조를 가지고 있습니다 (특히 1x1보다 큰 행렬을 추가 할 때마다 더 깊어집니다). 그러나이 새 목록에서 초기 행렬 목록을 재구성 할 수 있습니다.
나중에이 구문을 사용할 수 있도록 수평 배열로 작성된 배열을 나타내는 행렬 목록으로 변환하는 코드를 작성해야합니다.
소스 코드의 레이아웃에서 답변이 2D 패턴 일치를 수행하지 않도록 입력은 배열 객체로 제공되거나 문자열 표현을 사용하는 경우 입력을 나타내는 공백을 포함하지 않습니다. 리터럴은 코드로 작성되었습니다. 따라서 다음과 같은 입력을 얻을 수 있습니다.
[[[1, 0], [[1, 0], [[0, 1], [[0,-1], [0, 1]], [0,-1]], [1, 0]], [1, 0]]]
그리고 출력은 다음 배열 또는 문자열 표현이어야합니다 (다시 레이아웃이 필요하지 않음).
[[[1, 0], [0, 1]], [[1, 0], [0,-1]], [[0, 1], [1, 0]], [[0,-1], [1, 0]]]
이것은 두 부분으로 된 도전의 첫 번째이며 쉬운 부분입니다. 이 경우 모든 행렬이 정사각형이고 치수가 같고 서로 정렬되어 있다고 가정 할 수 있습니다. 두 번째 부분에서는 이러한 가정을 완화 할 것입니다.
규칙
입력은 중첩 목록 또는 표준 문자열 표현 (선택한 언어)이되며 결과를 동일한 형식으로 출력해야합니다. 결과에는 항상 하나 이상의 행렬이 포함되며 행렬은 1x1만큼 작을 수 있습니다. 행렬에는 절대 값이 128보다 작은 (부호있는) 정수만 포함됩니다.
사용자가 쓸 수 프로그램이나 함수를 상기의 어떠한 사용도 표준 방법 의 입력을 수신하고 출력을 제공한다.
모든 프로그래밍 언어를 사용할 수 있지만 이러한 허점 은 기본적으로 금지되어 있습니다.
이것은 code-golf 이므로 바이트 단위로 측정 된 가장 짧은 유효한 답변이 이깁니다.
테스트 사례
각 테스트 케이스에는 a) 코드에있는 것처럼 서로 잘 정렬 된 목록 행렬 (이것은 입력 이 아님 ), b) 불필요한 공백 이 없는 형식화되지 않은 목록 ( 이것은 입력), c) 예상 출력.
Pretty: [ [[0]] ]
Input: [[[0]]]
Output: [[[0]]]
Pretty: [ [[-1]], [[0]], [[1]] ]
Input: [[[-1]],[[0]],[[1]]]
Output: [[[-1]],[[0]],[[1]]]
Pretty: [ [[1, 0], [[1, 0], [[0, 1], [[0,-1],
[0, 1]], [0,-1]], [1, 0]], [1, 0]] ]
Input: [[[1,0],[[1,0],[[0,1],[[0,-1],[0,1]],[0,-1]],[1,0]],[1,0]]]
Output: [[[1,0],[0,1]],[[1,0],[0,-1]],[[0,1],[1,0]],[[0,-1],[1,0]]]
Pretty: [ [[1, 0, 0], [[ 127, 63, 31], [[1, 0, 0], [[0, 0, 0],
[0, 1, 0], [ 15, 0, -15], [0, 0, 1], [0, 0, 0],
[0, 0, 1]], [ -31, -63, -127]], [0, 1, 0]], [0, 0, 0]] ]
Input: [[[1,0,0],[[127,63,31],[[1,0,0],[[0,0,0],[0,1,0],[15,0,-15],[0,0,1],[0,0,0],[0,0,1]],[-31,-63,-127]],[0,1,0]],[0,0,0]]]
Output: [[[1,0,0],[0,1,0],[0,0,1]],[[127,63,31],[15,0,-15],[-31,-63,-127]],[[1,0,0],[0,0,1],[0,1,0]],[[0,0,0],[0,0,0],[0,0,0]]]
[([1, 0], [0, 1]), ([1, 0], [0, -1]), ([0, 1], [1, 0]), ([0, -1], [1, 0])]
세 번째 테스트 케이스에 대한 유효 출력은? 혼합 된리스트와 튜플입니다.
[([1,0], ([1, 0}, ...
추가 정보를 제공합니다.