주어진 matrix의 값이 0인 요소의 동일 행과 열을 모두 0으로 만들어라
Input: matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
Output: [[0,0,0,0],[0,4,5,0],[0,3,1,0]]
https://leetcode.com/problems/set-matrix-zeroes/
행과 열의 각각 table을 만들고 배열값이 0인 i,j를 표기. 배열을 순회 하면서 table[i]가 표시된 모든 matrix[i][]를 0으로 만들고 j도 동일하게 수행.
#define MAX 201
void setZeroes(int** matrix, int matrixSize, int* matrixColSize){
int i_table[MAX] = {0};
int j_table[MAX] = {0};
for (int i = 0; i < matrixSize; i++) {
for (int j = 0; j < *matrixColSize; j++) {
if (matrix[i][j] == 0) {
i_table[i] = 1;
j_table[j] = 1;
}
}
}
for (int i = 0; i < matrixSize; i++) {
for (int j = 0; j < *matrixColSize; j++) {
if (i_table[i] == 1)
matrix[i][j] = 0;
if (j_table[j] == 1)
matrix[i][j] = 0;
}
}
}