Menu
CoddyTech

Transpose Matrix

Kamu menerima matriks bilangan bulat sebagai list baris: matrix[i][j] adalah nilai pada baris i, kolom j. Kembalikan transposenya: nilai pada baris i, kolom j berpindah ke baris j, kolom i, sehingga setiap baris menjadi kolom. Matriks tidak harus berbentuk persegi: matriks m × n menjadi matriks n × m.

Fungsi

transpose(matrix: integer-2d-array) → integer-2d-array
matrixinteger-2d-array
matriks m × n, sebagai list yang terdiri dari m baris berisi n bilangan bulat
Mengembalikaninteger-2d-array
transpose berukuran n × m, sebagai list yang terdiri dari n baris berisi m bilangan bulat

Batasan

  • 1 ≤ m, n ≤ 1000, dengan m = matrix.length dan n = matrix[i].length
  • m × n ≤ 5000
  • Setiap baris memiliki panjang yang sama, yaitu n.
  • -1000 ≤ matrix[i][j] ≤ 1000

Contoh

Input
matrix = [[1, 2, 3], [4, 5, 6]]
Output
[[1, 4], [2, 5], [3, 6]]
Penjelasan
Baris [1, 2, 3] menjadi kolom pertama dan [4, 5, 6] menjadi kolom kedua. Jika dibaca baris demi baris, hasilnya adalah [1, 4], [2, 5], [3, 6]: matriks 3 × 2.
challenge icon

Pertanyaan lanjutan

Misalkan matriks disimpan sebagai satu array datar yang berisi m × n nilai, baris demi baris. Bisakah kamu mentransposisi matriks nonpersegi di dalam array tersebut tanpa array kedua?

Reset kode
def transpose(matrix):
    # Tulis kodemu di sini

Tes #1

Tes #2

Argumen

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

Output yang diharapkan

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