Set Matrix Zeros
문제
- m*n 메트릭스
- 하나가 0이면 그 row, col 0으로 만들어.
- in place
풀이
- in place이니까 dfs 하기 어려워
- 첫 순회 시에 0의 인덱스 저장
- 인덱스 이용해서 그 행과 열 값 변경
nRow = len(matrix)
nCol = len(matrix[0])
# 0인 곳의 인덱스 찾기
zeroIndices = []
for row, li in enumerate(matrix):
for col, el in enumerate(li):
if el == 0:
zeroIndices.append([row, col])
# 인덱스 이용해서 행과 열의 값 변경
for row, col in zeroIndices:
# 행 값 변경
for c in range(nCol):
matrix[row][c] = 0
# 열 값 변경
for r in range(nRow):
matrix[r][col] = 0
return None
결과
- in place이니까 dfs 하기 어려워
- 첫 순회 시에 0의 인덱스 저장
- 인덱스 이용해서 그 행과 열 값 변경
nRow = len(matrix)
nCol = len(matrix[0])
# 0인 곳의 인덱스 찾기
zeroIndices = []
for row, li in enumerate(matrix):
for col, el in enumerate(li):
if el == 0:
zeroIndices.append([row, col])
# 인덱스 이용해서 행과 열의 값 변경
for row, col in zeroIndices:
# 행 값 변경
for c in range(nCol):
matrix[row][c] = 0
# 열 값 변경
for r in range(nRow):
matrix[r][col] = 0
return None
결과
1트에 성공!
Author And Source
이 문제에 관하여(Set Matrix Zeros), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@twinklesu914/Set-Matrix-Zeros저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)