본문 바로가기
코딩테스트

[리트코드] Set Matrix Zeroes - JAVA

by 의정부핵꿀밤 2022. 5. 26.
728x90

https://leetcode.com/problems/set-matrix-zeroes/submissions/

 

Set Matrix Zeroes - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com


문제가 영어로 되어 있어서 살짝 쫄았지만 막상 보니 별겨 없드라~

그냥 배열에서 0이 있으면 0이 있는 row, col의 원소들을 모두 0으로 바꿔주면 되는것이었다

 

리트코드는 처음이라 일단 효율성 생각 안하고 for문으로 돌렸는데 성공한듯..?

성공..?

 

 

아래는 코드이다!

 

자바 코드)

import java.util.*;
class Solution {
    static int[][] matrix;
    public void setZeroes(int[][] matrix) {
        int m = matrix.length;
        int n = matrix[0].length;
        List<Pair> list = new LinkedList<>();
        
        for(int i=0;i<m;i++) {
            for(int j=0;j<n;j++) {
                if(matrix[i][j]==0) {
                    list.add(new Pair(i, j));
                }
            }
        }
        
        for(int i=0;i<list.size();i++) {
            for(int x=0;x<m;x++) {
                matrix[x][(int)list.get(i).getValue()] = 0;
            }
            for(int y=0;y<n;y++) {
                matrix[(int)list.get(i).getKey()][y] = 0;
            }
        }
    }                           
}

반복문 돌려서 0 원소의 row, col을 Pair 로 저장한다

그리고 반복문 돌면서 Pair의 원소를 꺼내고, 행마다 열마다 각각 돌면서 모든 원소를 0으로 바꾼다

끝!

728x90

댓글