짱아의 개발 기록장

LeetCode : 73. Set Matrix Zeroes 본문

Algorithm/LeetCode

LeetCode : 73. Set Matrix Zeroes

jungahshin 2021. 2. 3. 13:40
반응형

간단한 구현문제였다.

0이 있는 곳을 기준으로 4방향으로 탐색해서 모든 값들을 0으로 만들어주면 된다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class Solution {
public:
    int dx[4= {-1100}; // 위, 아래, 왼, 오
    int dy[4= {00-11};
    int visited[201][201= {0, };
    void setZeroes(vector<vector<int>>& matrix) {
        int n = matrix.size();
        int m = matrix[0].size();
        for(int i=0; i<n; i++){
            for(int j=0; j<m; j++){
                if(matrix[i][j]!=0 || visited[i][j]) continue;
                int x = i;
                int y = j;
                
                for(int k=0; k<4; k++){
                    int nx = x+dx[k];
                    int ny = y+dy[k];
                    
                    while(0<=nx && nx<&& 0<=ny && ny<m){
                        if(!visited[nx][ny] && matrix[nx][ny]!=0){
                            visited[nx][ny] = 1;
                            matrix[nx][ny] = 0;
                        }
                        nx += dx[k];
                        ny += dy[k];  
                    }
                }
            }
        }
    }
};
cs
반응형

'Algorithm > LeetCode' 카테고리의 다른 글

LeetCode : 72. Edit Distance  (0) 2021.02.05
LeetCode : 202. Happy Number  (0) 2021.02.04
LeetCode : 57. Insert Interval  (0) 2021.02.02
LeetCode : 59. Spiral Matrix II  (0) 2021.02.02
LeetCode : 264. Ugly Number II  (0) 2021.01.26
Comments