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] は1列目になり、[4, 5, 6] は2列目になります。行ごとに読むと、結果は [1, 4]、[2, 5]、[3, 6] となり、3 × 2 の行列です。
challenge icon

発展問題

行ごとに並べたm × n個の値を持つ1つのフラットな配列に、行列が格納されているとします。2つ目の配列を使わずに、その配列内で長方形行列を転置できますか?

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

テスト #1

テスト #2

引数

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

期待される出力

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