본문 바로가기

leetcode 문제 풀이

LeetCode 2319. Check if Matrix Is X-Matrix 자바 문제 풀이

반응형

문제 설명

접근 방식

  • 아이디어: 각 요소가 X-매트릭스의 조건을 만족하는지 확인하기 위해 주 대각선과 부 대각선을 검사합니다.
  • 알고리즘: 주 대각선의 요소와 부 대각선의 요소를 제외한 모든 요소가 0인지 검사하여 X-매트릭스 여부를 판단합니다.

코드

class Solution {
    public boolean checkXMatrix(int[][] grid) {
        int n = grid.length;

        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                if (i == j || i + j == n - 1) {  // 주 대각선 또는 부 대각선에 해당하는 요소인 경우
                    if (grid[i][j] == 0) return false;  // 0이면 X-매트릭스가 아님
                } else {  // 주 대각선 또는 부 대각선이 아닌 요소인 경우
                    if (grid[i][j] != 0) return false;  // 0이 아니면 X-매트릭스가 아님
                }
            }
        }

        return true;  // 모든 조건을 만족하면 X-매트릭스
    }
}

결론

  • 시간 복잡도: 이 알고리즘은 행렬의 모든 요소를 한 번씩만 확인하므로 O(n^2)입니다.
  • 공간 복잡도: 추가적인 공간을 사용하지 않고 입력 행렬만을 사용하므로 O(1)입니다.
반응형