Menu
CoddyTech

Set Matrix Zeroes

입력은 정수로 이루어진 m × n 격자이며, 행별로 주어집니다. 따라서 matrix[i][j]는 i행 j열에 있습니다. 격자에서 0인 값이 있는 곳마다 해당 행 전체와 열 전체를 0으로 설정하세요. 처음부터 있던 0만 해당합니다. 0으로 바꾼 셀은 자신의 행이나 열을 0으로 만들지 않습니다. 격자를 제자리에서 변경해도 됩니다. 격자를 반환하세요.

함수

setZeroes(matrix: integer-2d-array) → integer-2d-array
matrixinteger-2d-array
정수 격자, 각 행마다 하나의 내부 목록
반환값integer-2d-array
0이 포함된 모든 행과 모든 열을 0으로 설정한 행렬

제약 조건

  • m == matrix.length 그리고 n == matrix[i].length
  • 1 ≤ m, n ≤ 1000 그리고 m × n ≤ 5000
  • 모든 m개의 행에는 n개의 값이 들어 있습니다.
  • -1000 ≤ matrix[i][j] ≤ 1000

예제

입력
matrix = [[3, 8, 1], [5, 0, 7], [2, 6, 4]]
출력
[[3, 0, 1], [0, 0, 0], [2, 0, 4]]
설명
유일한 0은 1행 1열에 있습니다. 1행은 모두 0이 되고, 1열도 마찬가지여서 8과 6이 0으로 바뀝니다. 네 모서리는 어느 쪽 줄에도 속하지 않으므로 값을 그대로 유지합니다.
challenge icon

후속 질문

아래의 가장 좋은 방법은 추가 불리언 값 두 개를 유지합니다. matrix[0][0]이 첫 번째 행을 나타내도록 해서 하나만으로 해결할 수 있을까요?

코드 초기화
def setZeroes(matrix):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

인자

matrix = [[3, 8, 1], [5, 0, 7], [2, 6, 4]]

예상 출력

[[3, 0, 1], [0, 0, 0], [2, 0, 4]]