Skip to content

Commit e4e4dfd

Browse files
week07
solutions
1 parent 4264f8b commit e4e4dfd

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
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+

โ€Žunique-paths/taurus09318976.pyโ€Ž

Whitespace-only changes.

0 commit comments

Comments
ย (0)