LeetCode) 73. Set Matrix Zeroes

유병수·2023년 5월 30일
0

73. Set Matrix Zeroes

배열의 0인 위치를 찾아 행과 열 모두 0으로 변경해주는 문제.
배열 그 자체의 값을 변경해주어야하기 때문에 처음에 0을 찾기전에 배열 값을 변경해버리면 문제가 생길 수 있다. 그래서 처음에 이차원배열을 탐색해서 0의 위치를 찾고, 그다음에 0으로 바꿔주면 해결

class Solution {
    public void setZeroes(int[][] matrix) {

        List<int[]> zero = new ArrayList<>();

        for(int y = 0; y<matrix.length; y++){

            for(int x = 0; x < matrix[0].length; x++){

                if(matrix[y][x] == 0){
                    zero.add(new int[]{y,x});
                }
            }
        }

        for(int i=0; i<zero.size(); i++){
            int[] position = zero.get(i);

            for(int j=0; j<matrix.length; j++){
                matrix[j][position[1]] = 0;
            }

             for(int j=0; j<matrix[0].length; j++){
                matrix[position[0]][j] = 0;
            }
        }

    }
}

0개의 댓글