JPEG標準は、圧縮アルゴリズムの一部として、交互の方向の対角線に沿って行列を展開してベクトルにします。
あなたのタスクは、マトリックス(必ずしも正方形ではない)を取り、展開された形で返すことです。例として:
[1 2 3 4
5 6 7 8
9 1 2 3]
降るべきです
[1, 2, 5, 9, 6, 3, 4, 7, 1, 2, 8, 3]
ルール
行列要素はより小さい正の整数であると仮定でき10
ます。
プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取得し、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。
入力マトリックスは、便利で曖昧さのないネストされたリストまたは文字列形式で、または両方のマトリックス次元と共にフラットリストとして指定できます。(または、もちろん、あなたの言語がそれらを持っているなら、マトリックス型として。)
出力ベクトルは、任意の便利で明確なフラットリストまたは文字列形式にすることができます。
標準のコードゴルフ規則が適用されます。
テストケース
[[1]] => [1]
[[1 2] [3 1]] => [1 2 3 1]
[[1 2 3 1]] => [1 2 3 1]
[[1 2 3] [5 6 4] [9 7 8] [1 2 3]] => [1 2 5 9 6 3 4 7 1 2 8 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]
[[1 2 6 3 1 2] [5 9 4 7 8 3]] => [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 2 5 9 6 3 4 7 1 2 8 3]
[[1] [2] [5] [9] [6] [3] [4] [7] [1] [2] [8] [3]] => [1 2 5 9 6 3 4 7 1 2 8 3]
関連する課題
- ジグザグ化された行列を再構築します(やや複雑な逆変換)
- 対角線を回転させる