반응형

https://leetcode.com/problems/valid-sudoku/

 

Valid Sudoku - 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

 

현재 부분적으로 채워진 상태가 스도쿠 조건을 충족하는지 확인하면 되었습니다.

각 행, 열, 3*3 박스마다 이미 사용된 숫자인지 기억하고, 검사해주었습니다.

 

class Solution {
public:
    bool vRow[9][10], vCol[9][10], vBox[9][10];
    
    bool isValidSudoku(vector<vector<char>>& board) {
        for(int i=0; i<9; i++) {
            for(int j=0; j<9; j++) {
                if(board[i][j] == '.') continue;
                int val = board[i][j] - '0';
                int boxNumber = (i / 3 * 3) + j / 3;
                if(vRow[i][val] || vCol[j][val] || vBox[boxNumber][val]) return false;
                vRow[i][val] = vCol[j][val] = vBox[boxNumber][val] = true;
            }
        }
        return true;
    }
};

 

반응형

'Algorithm' 카테고리의 다른 글

LeetCode 682 : Baseball Game  (0) 2022.04.10
LeetCode 37 : Sudoku Solver  (0) 2022.04.09
LeetCode 347 : Top K Frequent Elements  (0) 2022.04.09
LeetCode 703 : Kth Largest Element in a Stream  (0) 2022.04.08
LeetCode 31 : Next Permutation  (2) 2022.03.27

+ Recent posts