File tree Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change
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
+
You canโt perform that action at this time.
0 commit comments