# Valid Sudoku <https://leetcode.com/problems/valid-sudoku/> First define a `validate` function: ```python def validate(group: List[str]): numbers = list(filter(lambda x: x != '.', group)) return Counter(numbers) == Counter(set(numbers)) ``` Then validate each `row`, `col`, and `box`. ```python if not (all(validate)) for row in board: if not validate(row): return False for j in range(9): col = [board[i][j] for i in range(9)] if not validate(col): return False for x in range(0, 9, 3): for y in range(0, 9, 3): box = [board[x + i][y + j] for i in range(3) for j in range(3)] if not validate(box): return False return True ``` A more succinct functional solution: ```python return all( [ all(validate(row) for row in board), all(validate([board[i][j] for i in range(9)]) for j in range(9)), all( validate( [board[x + i][y + j] for i in range(3) for j in range(3)] ) for x in range(0, 9, 3) for y in range(0, 9, 3) ) ] ) ```