[LeetCode] Transpose Matrix

준규·2022년 11월 22일
0

2차원 정수 배열 matrix 가 주어질 때 matrix의 transpose를 리턴하는 문제이다.

transpose란 행렬의 대각 성분을 기준으로 대칭 이동된 행렬을 말한다.

Example 을 보자

transpose 는 원본 행렬이 n x m 행렬이라면 m x n 크기의 행렬이 된다.

const transpose = function (matrix) {
  const width = matrix[0].length;
  const height = matrix.length;

  let arr = new Array(width);

  for (let i = 0; i < width; i++) {
    arr[i] = new Array(height);
  }

  for (let i = 0; i < height; i++) {
    for (let j = 0; j < width; j++) {
      if (i === j) {
        arr[i][j] = matrix[i][j];
      } else {
        arr[j][i] = matrix[i][j];
      }
    }
  }

  return arr;
};

먼저 새로운 행렬을 원본 행령의 가로와 세로 길이를 바꾸어서 새로 생성해주고 for문을 돌면서 i === j 라면 대각 성분인것이므로 그대로 arr[i][j] 에 값을 넣어주고 i!=j라면 arr[j][i] 에 matrix[i][j] 값을 넣어주면 된다.

submit을 해보니

정답이었다!

profile
안녕하세요 :)

0개의 댓글