문제

풀이

class Solution {
public:
    int numSpecial(vector<vector<int>>& mat) 
    {
        int ans = 0;
        int m = mat.size();
        int n = mat[0].size();
        
        for (int i = 0; i < m; i++) 
        {
            for (int j = 0; j < n; j++) 
            {
                if (mat[i][j] != 1) 
                {
                    continue;
                }
                
                bool valid = true;
                for (int r = 0; r < m; r++) 
                {
                    if (r == i)
                    {
                        continue;
                    }

                    if (mat[r][j] == 1) 
                    {
                        valid = false;
                        break;
                    }
                }
                
                for (int c = 0; c < n; c++) 
                {
                    if (c == j)
                    {
                        continue;
                    }
                    
                    if (mat[i][c] == 1) 
                    {
                        valid = false;
                        break;
                    }
                }
                
                if (valid) 
                {
                    ans++;
                }
            }
        }
        
        return ans;
    }
};

그냥 하나하나 구해도 충분히 빠르다.

댓글남기기