코린이의 소소한 공부노트

[LeetCode/Easy] 2133. Check if Every Row and Column Contains All Numbers 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 2133. Check if Every Row and Column Contains All Numbers

무지맘 2023. 4. 27. 19:01

1. Input

1) int[][] matrix

 

2. Output

1) matrix의 모든 행과 열에 1부터 n까지의 숫자가 모두 들어가있다면 true, 아니면 false를 반환

 

3. Constraint

1) n == matrix.length == matrix[i].length

2) 1 <= n <= 100

3) 1 <= matrix[i][j] <= n

 

4. Example

Input: matrix = [[1,2,3],[3,1,2],[2,3,1]] -> Output: true

Input: matrix = [[1,1,1],[1,2,3],[1,2,3]] -> Output: false

설명:

- 모든 행과 열에 1부터 3까지의 숫자가 들어있다.

- 1행과 1열에 23이 없다.

 

5. Code

1) 첫 코드(2023/04/27)

class Solution {
    public boolean checkValid(int[][] matrix) {
        int n = matrix.length;
        boolean answer = true;
        for(int i=0 ; i<n ; i++){
            HashSet<Integer> row = new HashSet<>();
            HashSet<Integer> col = new HashSet<>();
            for(int j=0 ; j<n ; j++){
                row.add(matrix[i][j]);
                col.add(matrix[j][i]);
            }
            if(row.size()!=n || col.size()!=n){
                answer = false; break;
            }
        }
        return answer;
    }
}