Skip to content

Commit a881218

Browse files
committed
Solve: set-matrix-zeroes
1 parent f1874c8 commit a881218

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

โ€Žset-matrix-zeroes/Jay-Mo-99.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#ํ•ด์„
2+
# matrix์˜ ๋ชจ๋“  element๋ฅผ ๊ฒ€์‚ฌํ•œ๋‹ค, ๋งŒ์•ฝ 0์„ ๋ฐœ๊ฒฌํ•˜๋ฉด ํ•ด๋‹น element์™€ ๊ฐ™์€ row์™€ col์„ ๊ฐ€์ง„ element๋ฅผ "a" ๋กœ ๋ฐ”๊พผ๋‹ค.
3+
# ๋‘๋ฒˆ์งธ๋กœ matrix์˜ ๋ชจ๋“  element๋ฅผ ๊ฒ€์‚ฌํ•œ๋‹ค, ๋งŒ์•ฝ a๋ฅผ ๋ฐœ๊ฒฌํ•˜๋ฉด ์ด๋ฅผ 0์œผ๋กœ ๋ฐ”๊พผ๋‹ค.
4+
5+
6+
#Big O
7+
#- N: row์˜ ํฌ๊ธฐ(matrix ํ–‰์˜ ๊ฐฏ์ˆ˜)
8+
#- K: col์˜ ํฌ๊ธฐ(matrix ์—ด์˜ ๊ฐฏ์ˆ˜ )
9+
10+
#Time Complexity: O(N*K*(N+K))
11+
#- for nested loop : ํ–‰์˜ ๊ฐฏ์ˆ˜(N) ๋‹น ์—ด์˜ ๊ฐฏ์ˆ˜๋งŒํผ(K) ๋ฃจํ”„ ์ž‘๋™ -> O(N*K)
12+
# - ์ตœ์•…์˜ ๊ฒฝ์šฐ, ์ฒซ๋ฒˆ์งธ ๋ฃจํ”„์—์„œ for i in range(rows)๊ฐ€ M๋ฒˆ ๋ฐœ๋™, for j in range(cols)๊ฐ€ N๋ฒˆ ๋ฐœ๋™ -> O(N+K)
13+
14+
#Space Complexity: O(1)
15+
#- rows, cols: ๋ณ€์ˆ˜์˜ ํ• ๋‹น๊ณผ ์—…๋ฐ์ดํŠธ๋Š” ์ƒ์ˆ˜ ์ทจ๊ธ‰ํ•œ๋‹ค -> O(1)
16+
from typing import List
17+
18+
19+
class Solution:
20+
def setZeroes(self, matrix: List[List[int]]) -> None:
21+
"""
22+
Do not return anything, modify matrix in-place instead.
23+
"""
24+
rows, cols = len(matrix), len(matrix[0]) #rows์™€ cols์— matrix์˜ ์ขŒํ‘œ ๋ถ€์—ฌ
25+
26+
# 1์ฐจ matrix ์ˆœํšŒ: 0์„ ๋ฐœ๊ฒฌํ•˜๋ฉด, ๊ทธ element์˜ ๊ฐ™์€ ํ–‰๊ณผ ์—ด์˜ 0์ด ์•„๋‹Œ ์ˆ˜๋ฅผ ์ž„์‹œ ๊ฐ’ "a"๋กœ ๋ฐ”๊พธ๊ธฐ
27+
for r in range(rows):
28+
for c in range(cols):
29+
if matrix[r][c] == 0:
30+
# ํ•ด๋‹น ํ–‰๊ณผ ์—ด์˜ 0์ด ์•„๋‹Œ ๋ชจ๋“  ๊ฐ’์„ ์ž„์‹œ๋กœ "a"๋กœ ๋ณ€๊ฒฝ
31+
for i in range(rows): # ํ•ด๋‹น ์—ด์˜ ๋ชจ๋“  ๊ฐ’
32+
if matrix[i][c] != 0:
33+
matrix[i][c] = "a"
34+
for j in range(cols): # ํ•ด๋‹น ํ–‰์˜ 0์ด ์•„๋‹Œ ๋ชจ๋“  ๊ฐ’์„ "a"๋กœ ๋ณ€๊ฒฝ
35+
if matrix[r][j] != 0:
36+
matrix[r][j] = "a"
37+
38+
# 2์ฐจ matrix์ˆœํšŒ: "a"๋ฅผ ๊ฐ€์ง„ ์ˆ˜๋ฅผ 0์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.
39+
for r in range(rows):
40+
for c in range(cols):
41+
if matrix[r][c] == "a":
42+
matrix[r][c] = 0
43+
44+
45+

0 commit comments

Comments
ย (0)