Skip to content

Commit d8b5b1f

Browse files
committed
solve: set matrix zeroes
1 parent 55a43fc commit d8b5b1f

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

โ€Žset-matrix-zeroes/wogha95.js

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/**
2+
* TC: O(ROW * COLUMN)
3+
* SC: O(1)
4+
*/
5+
6+
/**
7+
* @param {number[][]} matrix
8+
* @return {void} Do not return anything, modify matrix in-place instead.
9+
*/
10+
var setZeroes = function (matrix) {
11+
const ROW = matrix.length;
12+
const COLUMN = matrix[0].length;
13+
14+
// 1. 0์ธ ์š”์†Œ์˜ ๊ฐ€๋กœ, ์„ธ๋กœ๋ฅผ ํŠน์ •๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ
15+
for (let row = 0; row < ROW; row++) {
16+
for (let column = 0; column < COLUMN; column++) {
17+
if (matrix[row][column] === 0) {
18+
changeToChar(row, column, "#");
19+
}
20+
}
21+
}
22+
23+
// 2. ํŠน์ •๋ฌธ์ž๋ฅผ ๋ชจ๋‘ 0์œผ๋กœ ๋ณ€๊ฒฝ
24+
for (let row = 0; row < ROW; row++) {
25+
for (let column = 0; column < COLUMN; column++) {
26+
if (matrix[row][column] === "#") {
27+
matrix[row][column] = 0;
28+
}
29+
}
30+
}
31+
32+
// 3. ํŠน์ • ์ขŒํ‘œ์˜ ๊ฐ€๋กœ, ์„ธ๋กœ๋ฅผ char๋ฌธ์ž๋กœ ๋ณ€๊ฒฝ (๋Œ€์‹  0์ธ ์š”์†Œ๋Š” ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Œ)
33+
function changeToChar(row, column, char) {
34+
for (let r = 0; r < ROW; r++) {
35+
if (matrix[r][column] !== 0) {
36+
matrix[r][column] = char;
37+
}
38+
}
39+
for (let c = 0; c < COLUMN; c++) {
40+
if (matrix[row][c] !== 0) {
41+
matrix[row][c] = char;
42+
}
43+
}
44+
}
45+
};

0 commit comments

Comments
ย (0)