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