File tree Expand file tree Collapse file tree 2 files changed +41
-0
lines changed Expand file tree Collapse file tree 2 files changed +41
-0
lines changed Original file line number Diff line number Diff line change
1
+ '''
2
+ ๋ฌธ์ ์๋ : m x n ํฌ๋์ 2์ฐจ์ ํ๋ ฌ์์ ์ด๋ค ์นธ์ 0์ด ์์ผ๋ฉด ๊ทธ ์นธ์ด ์ํ ํ๊ณผ ์ด ์ ์ฒด๋ฅผ 0์ผ๋ก ๋ฐ๊ฟ์ผ ํจ
3
+ ์กฐ๊ฑด : ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ค์ง ์๊ณ ์๋ matrix์์ ์ง์ ๋ฐ๊ฟ์ผ ํจ
4
+
5
+ ํด๊ฒฐ๋ฐฉ๋ฒ :
6
+ 1) ๋จผ์ 0์ด ์๋ ํ๊ณผ ์ด์ ๋ฐ๋ก ๊ธฐ๋กํด๋
7
+ 2) ๊ทธ ๋ค์, ๊ธฐ๋ก๋ ํ๊ณผ ์ด์ ๋ชจ๋ 0์ผ๋ก ๋ง๋ฌ
8
+
9
+ ์๊ฐ ๋ณต์ก๋: O(m ร n)
10
+ ํ๋ ฌ์ ๋ชจ๋ ์นธ์ ํ ๋ฒ์ฉ ํ์ธํ๋ฏ๋ก
11
+ ๊ณต๊ฐ ๋ณต์ก๋: O(m + n)
12
+ 0์ด ์๋ ํ๊ณผ ์ด ๋ฒํธ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ต๋ (ํ ๊ฐ์ + ์ด ๊ฐ์)๋งํผ ๊ณต๊ฐ์ด ํ์ํ๋ฏ๋ก
13
+
14
+ '''
15
+
16
+ class Solution :
17
+ def setZeroes (self , matrix : List [List [int ]]):
18
+ rows = len (matrix ) # ํ๋ ฌ์ ํ ๊ฐ์๋ฅผ ๊ตฌํจ
19
+ cols = len (matrix [0 ]) # ํ๋ ฌ์ ์ด ๊ฐ์๋ฅผ ๊ตฌํจ
20
+ zero_rows = set () # 0์ด ์๋ ํ ๋ฒํธ๋ฅผ ์ ์ฅํ ์งํจ
21
+ zero_cols = set () # 0์ด ์๋ ์ด ๋ฒํธ๋ฅผ ์ ์ฅํ ์งํฉ
22
+
23
+ # ๋ชจ๋ ํ๊ณผ ์ด์ ๋๋ฉด์ 0์ด ์์ผ๋ฉด ํด๋น ํ๊ณผ ์ด ๋ฒํธ๋ฅผ ๊ธฐ๋กํจ
24
+ for i in range (rows ):
25
+ for j in range (cols ):
26
+ if matrix [i ][j ] == 0 :
27
+ zero_rows .add (i )
28
+ zero_cols .add (j )
29
+
30
+ # 0์ด ์๋ ํ์ ๋ชจ๋ 0์ผ๋ก ๋ฐ๊ฟ
31
+ for i in zero_rows :
32
+ for j in range (cols ):
33
+ matrix [i ][j ] = 0
34
+
35
+ # 0์ด ์๋ ์ด์ ๋ชจ๋ 0์ผ๋ก ๋ฐ๊ฟ
36
+ for j in zero_cols :
37
+ for i in range (rows ):
38
+ matrix [i ][j ] = 0
39
+
40
+
41
+
You canโt perform that action at this time.
0 commit comments