문제요약
MxN의 이차원 배열이 주어진다
이차원 배열의 요소가 0일 경우 해당 요소의 행과 열을 모두 0으로 바꾼다
모든 0에 대한 처리가 끝난 이차원 배열을 반환한다
예시

입력: matrix = [[1,1,1],[1,0,1],[1,1,1]]
출력: [[1,0,1],[0,0,0],[1,0,1]]

입력: matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
출력력: [[0,0,0,0],[0,4,5,0],[0,3,1,0]]
풀이
var setZeroes = function(matrix) {
if(matrix.length === 1 && matrix[0].includes(0)){
matrix[0].fill(0);
return matrix
}
const arr = []
for(let i=0;i<matrix.length;i++){
for (let j=0;j<matrix[i].length;j++){
if(matrix[i][j] === 0){
arr.push([i,j])
}
}
};
for(let i=0;i<arr.length;i++){
for(let j=0;j<matrix[0].length;j++){
matrix[arr[i][0]][j] = 0;
}
for(let j=0;j<matrix.length;j++){
matrix[j][arr[i][1]] = 0;
}
}
return matrix
}- 이차원 배열이 단일 행이며 0이 포함되는경우에는 해당 행 전체를 0으로 채우고 반환한다
- 이차원 배열의 요소를 검사하며 0인 경우 해당 요소의 행과 열을 arr에 저장한다
- arr에 저장된 정보에 따라 행과 열을 모두 0으로 바꾼뒤 반환한다
시간복잡도 : O(n^2)
'코딩테스트' 카테고리의 다른 글
| LeetCode - Convert Date to Binary (1) | 2025.02.05 |
|---|---|
| LeetCode - Minimum Add to Make Parentheses Valid (1) | 2025.01.02 |
| LeetCode - Numberof Different Integer in a String (0) | 2024.12.30 |
| LeetCode - Restore IP Addresses (0) | 2024.12.28 |
| LeetCode - Path Sum (0) | 2024.12.25 |