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