Menu
CoddyTech

Rotate Image

各行が1つのリストになっている、整数からなる n × n のグリッドが与えられます。これを時計回りに90度回転させて返してください。最上段は最も右の列になり、その下の行はその左隣の列になり、以下同様です。つまり、(i, j) の値は (j, n-1-i) に移動します。グリッドはその場で変更してもかまいません。グリッドを返してください。

関数

rotateImage(matrix: integer-2d-array) → integer-2d-array
matrixinteger-2d-array
正方形のグリッド。各行に1つの内側のリスト
戻り値integer-2d-array
行列が時計回りに90度回転した

制約

  • n == matrix.length == matrix[i].length
  • 1 ≤ n ≤ 70
  • -1000 ≤ matrix[i][j] ≤ 1000

例

入力
matrix = [[3, 7, 1], [9, 5, 2], [4, 8, 6]]
出力
[[4, 9, 3], [8, 5, 7], [6, 2, 1]]
説明
最初の行である3 7 1は、上から下に読むと最後の列になります。最初の列である3 9 4は、下から上に読むと最初の行 [4, 9, 3] になります。中央の値5はそのままです。
challenge icon

発展問題

行列をインプレースで180度回転させる2つの手順は何ですか?また、要素の交換を1回のパスで行えますか?

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

テスト #1

テスト #2

引数

matrix = [[3, 7, 1], [9, 5, 2], [4, 8, 6]]

期待される出力

[[4, 9, 3], [8, 5, 7], [6, 2, 1]]