😎풀이

  1. matrix 순회
    1-1. 좌측 상단 대각선 요소가 현재 요소와 다르다면, false 반환
    1-2. 우측 하단 대각선 요소가 현재 요소와 다르다면, false 반환
  2. 모든 요소가 좌측 상단, 우측 하단 대각선 요소와 같으므로 Toeplitz Matrix 행렬임 true 반환
function isToeplitzMatrix(matrix: number[][]): boolean {
    const rowMax = matrix.length
    const colMax = matrix[0].length
    for(let row = 0; row < rowMax; row++) {
        for(let col = 0; col < colMax; col++) {
            const curEl = matrix[row][col]
            if(row - 1 >= 0 && col - 1 >= 0) {
                if(curEl !== matrix[row - 1][col - 1]) return false
            }
            if(row + 1 < rowMax && col + 1 < colMax) {
                if(curEl !== matrix[row + 1][col + 1]) return false
            }
        }
    }
    return true
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글