압축 알고리즘의 일부로 JPEG 표준은 교차 방향의 대각선을 따라 벡터로 행렬을 언 롤링합니다.
당신의 임무는 롤링되지 않은 벡터를 행렬 치수와 함께 취해 해당 행렬을 재구성하는 것입니다. 예로서:
[1, 2, 5, 9, 6, 3, 4, 7, 1, 2, 8, 3], 4, 3
양보해야한다
[1 2 3 4
5 6 7 8
9 1 2 3]
반면 치수 6, 2
는
[1 2 6 3 1 2
5 9 4 7 8 3]
규칙
치수 중 하나만 입력으로 선택할 수 있습니다. 개별 입력은 임의의 순서로 수행 될 수 있습니다. 주어진 벡터 길이에 대해 너비와 높이가 양수이고 유효한 것으로 가정 할 수 있습니다.
벡터 요소가보다 작은 양의 정수라고 가정 할 수 있습니다 10
.
STDIN (또는 가장 가까운 대안), 명령 행 인수 또는 함수 인수를 통해 입력을 받고 STDOUT (또는 가장 가까운 대안), 함수 리턴 값 또는 함수 (out) 매개 변수를 통해 결과를 출력하는 프로그램 또는 함수를 작성할 수 있습니다.
입력 벡터는 편리하고 모호하지 않은 플랫리스트 또는 문자열 형식으로 제공 될 수 있습니다.
출력 행렬은 임의의 편리한 모호하지 않은 중첩 목록 또는 문자열 형식이거나 두 행렬 차원과 함께 단순 목록 일 수 있습니다. (또는 언어에 매트릭스 유형이있는 경우 물론 매트릭스 유형으로도 사용됩니다.)
표준 코드 골프 규칙이 적용됩니다.
테스트 사례
각 테스트 케이스는 형식 vector width height => matrix
입니다.
[1] 1 1 => [[1]]
[1 2 3 1] 2 2 => [[1 2] [3 1]]
[1 2 3 1] 4 1 => [[1 2 3 1]]
[1 2 5 9 6 3 4 7 1 2 8 3] 3 4 => [[1 2 3] [5 6 4] [9 7 8] [1 2 3]]
[1 2 5 9 6 3 4 7 1 2 8 3] 4 3 => [[1 2 3 4] [5 6 7 8] [9 1 2 3]]
[1 2 5 9 6 3 4 7 1 2 8 3] 6 2 => [[1 2 6 3 1 2] [5 9 4 7 8 3]]
[1 2 5 9 6 3 4 7 1 2 8 3] 12 1 => [[1 2 5 9 6 3 4 7 1 2 8 3]]
[1 2 5 9 6 3 4 7 1 2 8 3] 1 12 => [[1] [2] [5] [9] [6] [3] [4] [7] [1] [2] [8] [3]]
관련 도전
- 행렬을 지그재그 화 (약간 역변환)
- 반 대각선 회전