Skip to content

Commit 0e3544a

Browse files
committed
add: solve #283 Set Matrix Zeroes with ts
1 parent 4d1a34e commit 0e3544a

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

โ€Žset-matrix-zeroes/Yjason-K.ts

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/**
2+
* 2์ฐจ์› ๋ฐฐ์—ด์„ ๋Œ๋ฉฐ 0์„ ์ ์šฉํ•ด์•ผํ•˜๋Š” row์™€ col์„ ์กฐํšŒ ํ›„ ๋‹ค์‹œ 2์ฐจ์› ๋ฐฐ์—ด์„ ๋Œ๋ฉฐ 0์œผ๋กœ ๋ณ€ํ™˜
3+
* @param {number[][]} matrix - 2์ฐจ์› ๋ฐฐ์—ด
4+
* @return
5+
*
6+
* - ์‹œ๊ฐ„ ๋ณต์žก๋„: O(m * n)
7+
* - m x n ํฌ๊ธฐ์˜ ๋ฐฐ์—ด์„ 2๋ฒˆ ์ˆœํšŒ
8+
*
9+
* - ๊ณต๊ฐ„ ๋ณต์žก๋„: O(m + n)
10+
* - ์ตœ๋Œ€ m(ํ–‰) + n(์—ด) ํฌ๊ธฐ์˜ Set์„ ์‚ฌ์šฉ
11+
*/
12+
function setZeroes(matrix) {
13+
const m = matrix.length;
14+
const n = matrix[0].length;
15+
16+
const rowZeroSet = new Set();
17+
const colZeroSet = new Set();
18+
19+
// ๋ฐฐ์—ด์„ ๋Œ๋ฉฐ 0์œผ๋กœ ๋ฐ”๊ฟ”์•ผ ํ•  ํ–‰๊ณผ ์—ด์„ ๊ธฐ๋ก
20+
for (let i=0; i < m; i ++) {
21+
for (let j=0; j < n; j++) {
22+
if (matrix[i][j] === 0) {
23+
rowZeroSet.add(i);
24+
colZeroSet.add(j);
25+
}
26+
}
27+
}
28+
29+
// 0์œผ๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ํ–‰๊ณผ ์—ด์„ ๋ณ€ํ™˜
30+
for (let i=0; i < m; i ++) {
31+
for (let j=0; j < n; j++) {
32+
if (rowZeroSet.has(i) || colZeroSet.has(j)) {
33+
matrix[i][j] = 0;
34+
}
35+
}
36+
}
37+
}
38+

0 commit comments

Comments
ย (0)