Menu
CoddyTech

Transpose Matrix

整数の行列が行のリストとして与えられます。matrix[i][j]は、行i、列jの値です。転置行列、つまり各行を列に入れ替えた行列を返してください。行i、列jの値は、行j、列iに移動します。行列は正方行列である必要はありません。m × n行列はn × m行列になります。

関数

transpose(matrix: integer-2d-array) → integer-2d-array
matrixinteger-2d-array
m 行 n 列の行列。各行は n 個の整数からなる m 行のリスト
戻り値integer-2d-array
n × m の転置行列。m 個の整数からなる行が n 行のリスト

制約

  • 1 ≤ m, n ≤ 1000。ここで、m = matrix.length、n = matrix[i].length
  • m × n ≤ 5000
  • すべての行の長さは同じで、n です。
  • -1000 ≤ matrix[i][j] ≤ 1000

例

入力
matrix = [[1, 2, 3], [4, 5, 6]]
出力
[[1, 4], [2, 5], [3, 6]]
説明
最初の行 [1, 2, 3] は最初の列になり、[4, 5, 6] は2番目の列になります。結果を行ごとに読むと、[1, 4]、[2, 5]、[3, 6] となります。2 × 3 の行列が 3 × 2 の行列になりました。

lock icon提出時に隠しテスト+15件

challenge icon

発展問題

行ごとに並んだm × n個の値を持つ1次元配列として、行列が格納されているとします。別の配列を使わずに、その配列の中で長方形行列を転置できますか?

コードをリセット
def transpose(matrix):
    # ここにコードを書いてください
テストケース

ケース1

ケース2

入力

matrix = [[1, 2, 3], [4, 5, 6]]

期待値

[[1, 4], [2, 5], [3, 6]]