[Leetcode]36. Valid Sudoku(x)
2024. 7. 31. 16:28ㆍAlgorithm
1. problem :
https://leetcode.com/problems/valid-sudoku/description/
2. solution 1 :
class Solution:
def isValidSudoku(self, board: List[List[str]]) -> bool:
rows = [set() for _ in range(9)]
cols = [set() for _ in range(9)]
boxes = [set() for _ in range(9)]
for r in range(9):
for c in range(9):
num = board[r][c]
if num != '.':
box_index = (r // 3) * 3 + (c // 3)
if num in rows[r] or num in cols[c] or num in boxes[box_index]:
return False
rows[r].add(num)
cols[c].add(num)
boxes[box_index].add(num)
return True
한줄평 : 행 9개 만들고, 열 9개 만들고, 박스 9개 만들고(물론 다 set으로) 각각 관리하자.
'Algorithm' 카테고리의 다른 글
[Leetcode]125. Valid Palindrome (0) | 2024.07.31 |
---|---|
[Leetcode]128. Longest Consecutive Sequence (0) | 2024.07.31 |
[Leetcode]1456. Maximum Number of Vowels in a Substring of Given Length (0) | 2024.07.30 |
[Leetcode]643. Maximum Average Subarray I (0) | 2024.07.30 |
[Leetcode]792. Number of Matching Subsequences(x) (0) | 2024.07.29 |