728x90
https://leetcode.com/problems/valid-sudoku/description/
public class Solution
{
public bool IsValidSudoku(char[][] board)
{
var zoneSetArr = new HashSet<char>[3, 3];
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
zoneSetArr[i, j] = new HashSet<char>();
}
}
for (int i = 0; i < 9; i++)
{
var colSet = new HashSet<char>();
var rowSet = new HashSet<char>();
for (int j = 0; j < 9; j++)
{
if (board[i][j] != '.')
{
if (colSet.Contains(board[i][j]))
return false;
colSet.Add(board[i][j]);
if (zoneSetArr[i / 3, j / 3].Contains(board[i][j]))
return false;
zoneSetArr[i / 3, j / 3].Add(board[i][j]);
}
if (board[j][i] != '.')
{
if (rowSet.Contains(board[j][i]))
return false;
rowSet.Add(board[j][i]);
}
}
}
return true;
}
}
728x90
'Programing > Algorithm' 카테고리의 다른 글
[LeetCode] 34. Find First and Last Position of Element in Sorted Array (0) | 2025.02.12 |
---|---|
[LeetCode] 33. Search in Rotated Sorted Array (0) | 2025.02.12 |
[LeetCode] 22. Generate Parentheses (0) | 2025.02.10 |
[LeetCode] 19. Remove Nth Node From End of List (0) | 2025.02.10 |
[LeetCode] 17. Letter Combinations of a Phone Number (0) | 2025.02.10 |