개발 일지
766. Toeplitz Matrix (퇴플리츠 행렬) C# 본문
Given an m x n matrix, return true if the matrix is Toeplitz. Otherwise, return false.
A matrix is Toeplitz if every diagonal from top-left to bottom-right has the same elements.
m x n 행렬이 주어졌을 때, 이 행렬이 퇴플리츠일 경우 true를 그렇지 않을 경우 false를 반환하세요.
행렬이 왼쪽 위부터 오른쪽 아래까지의 모든 대각선이 동일한 요소를 갖는 경우 토플리츠입니다.
예시 1:
입력: matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]]
출력: true
설명:
위 그리드에서 대각선은
"[9]", "[5, 5]", "[1, 1, 1]", "[2, 2, 2]", "[3, 3]", "[4]".
각 대각선에서 모든 요소는 동일하므로 답은 참입니다.
예시 2:
입력: 행렬 = [[1,2],[2,2]]
출력: false
설명:
대각선 "[1, 2]"에는 다른 요소가 있습니다.
더 나아가기:
- 행렬이 디스크에 저장되어 있고 메모리가 한 번에 최대 행렬의 한 행만 메모리에 로드할 수 있도록 제한되어 있다면 어떻게 해야 할까요?
- 행렬이 너무 커서 한 번에 일부 행만 메모리에 로드할 수 있따면 어떻게 해야 할까요?
정답:
public class Solution {
public bool IsToeplitzMatrix(int[][] matrix) {
for(int i = 1; i < matrix.Length; i++)
{
for(int j = 1; j < matrix[i].Length; j++)
{
if(matrix[i][j] != matrix[i - 1][j - 1])
{
return false;
}
}
}
return true;
}
}
해설: 첫번째 행과 열들을 제외한 값들은 모두 [i -1][j - 1] 값과 같아야하므로 다르면 false 문제없이 통과하면 true를 반환하게하여 풀었습니다
'코딩 테스트 > LeetCode' 카테고리의 다른 글
1544. Make The String Great (문자열 다듬기) C# (0) | 2022.11.14 |
---|---|
345. Reverse Vowels of a String (문자열의 모음 뒤집기) C# (0) | 2022.11.07 |
1108. Defanging an IP Address (IP 주소 훼손하기) C# (0) | 2022.11.01 |
219. Contains Duplicate II (중복 포함 II) C# (0) | 2022.10.31 |
1239. Maximum Length of a Concatenated String with Unique Characters (고유한 문자로 연결된 문자열의 최대 길이) C# (0) | 2022.10.25 |