Sudoku Validator
Statement
Goal
You get a sudoku grid from a player and you have to check if it has been correctly filled.A sudoku grid consists of 9×9 = 81 cells split in 9 sub-grids of 3×3 = 9 cells.
For the grid to be correct, each row must contain one occurrence of each digit (1 to 9), each column must contain one occurrence of each digit (1 to 9) and each sub-grid must contain one occurrence of each digit (1 to 9).
You shall answer
Input
9 rows of 9 space-separated digits representing the sudoku grid.
Output
Constraints
For each digit n in the grid: 1 ≤ n ≤ 9.
Example
Input
1 2 3 4 5 6 7 8 9 4 5 6 7 8 9 1 2 3 7 8 9 1 2 3 4 5 6 9 1 2 3 4 5 6 7 8 3 4 5 6 7 8 9 1 2 6 7 8 9 1 2 3 4 5 8 9 1 2 3 4 5 6 7 2 3 4 5 6 7 8 9 1 5 6 7 8 9 1 2 3 4
Output
true
Tags
Conditions, 2D array
Difficulty
Easy
Test cases
Basic grid Test
Input
1 2 3 4 5 6 7 8 9
4 5 6 7 8 9 1 2 3
7 8 9 1 2 3 4 5 6
9 1 2 3 4 5 6 7 8
3 4 5 6 7 8 9 1 2
6 7 8 9 1 2 3 4 5
8 9 1 2 3 4 5 6 7
2 3 4 5 6 7 8 9 1
5 6 7 8 9 1 2 3 4
Output
true
Basic grid Validator
Input
9 1 2 3 4 5 6 7 8
3 4 5 6 7 8 9 1 2
6 7 8 9 1 2 3 4 5
8 9 1 2 3 4 5 6 7
2 3 4 5 6 7 8 9 1
5 6 7 8 9 1 2 3 4
1 2 3 4 5 6 7 8 9
4 5 6 7 8 9 1 2 3
7 8 9 1 2 3 4 5 6
Output
true
Another correct grid Test
Input
4 3 5 2 6 9 7 8 1
6 8 2 5 7 1 4 9 3
1 9 7 8 3 4 5 6 2
8 2 6 1 9 5 3 4 7
3 7 4 6 8 2 9 1 5
9 5 1 7 4 3 6 2 8
5 1 9 3 2 6 8 7 4
2 4 8 9 5 7 1 3 6
7 6 3 4 1 8 2 5 9
Output
true
Another correct grid Validator
Input
1 5 2 4 8 9 3 7 6
7 3 9 2 5 6 8 4 1
4 6 8 3 7 1 2 9 5
3 8 7 1 2 4 6 5 9
5 9 1 7 6 3 4 2 8
2 4 6 8 9 5 7 1 3
9 1 4 6 3 7 5 8 2
6 2 5 9 4 8 1 3 7
8 7 3 5 1 2 9 6 4
Output
true
Row error Test
Input
4 3 2 2 6 9 7 8 1
6 8 5 5 7 1 4 9 3
1 9 7 8 3 4 5 6 2
8 2 6 1 9 5 3 4 7
3 7 4 6 8 2 9 1 5
9 5 1 7 4 3 6 2 8
5 1 9 3 2 6 8 7 4
2 4 8 9 5 7 1 3 6
7 6 3 4 1 8 2 5 9
Output
false
Row error Validator
Input
1 5 2 4 8 9 3 7 6
7 3 9 2 5 6 8 4 1
4 6 8 3 7 1 2 9 5
3 8 7 7 2 4 6 5 9
5 9 1 1 6 3 4 2 8
2 4 6 8 9 5 7 1 3
9 1 4 6 3 7 5 8 2
6 2 5 9 4 8 1 3 7
8 7 3 5 1 2 9 6 4
Output
false
Column error Test
Input
4 3 5 2 6 9 7 8 1
6 8 2 5 7 1 4 9 3
1 9 7 8 3 4 5 6 2
8 2 6 1 9 5 3 4 7
3 7 4 6 8 2 9 1 5
1 5 9 7 4 3 6 2 8
5 1 9 3 2 6 8 7 4
2 4 8 9 5 7 1 3 6
7 6 3 4 1 8 2 5 9
Output
false
Column error Validator
Input
1 5 2 4 8 9 3 7 6
7 3 9 2 5 6 8 4 1
4 8 6 3 7 1 2 9 5
3 8 7 1 2 4 6 5 9
5 9 1 7 6 3 4 2 8
2 4 6 8 9 5 7 1 3
9 1 4 6 3 7 5 8 2
6 2 5 9 4 8 1 3 7
8 7 3 5 1 2 9 6 4
Output
false
Subgrid error Test
Input
4 3 5 2 6 9 7 8 1
6 8 2 5 7 1 4 9 3
8 9 7 1 3 4 5 6 2
1 2 6 8 9 5 3 4 7
3 7 4 6 8 2 9 1 5
9 5 1 7 4 3 6 2 8
5 1 9 3 2 6 8 7 4
2 4 8 9 5 7 1 3 6
7 6 3 4 1 8 2 5 9
Output
false
Subgrid error Validator
Input
1 5 2 4 8 9 3 7 6
7 3 9 2 5 6 8 4 1
4 6 8 3 7 1 2 9 5
3 8 7 1 2 4 6 5 9
5 9 1 7 6 3 4 2 8
2 4 6 8 9 7 5 1 3
9 1 4 6 3 5 7 8 2
6 2 5 9 4 8 1 3 7
8 7 3 5 1 2 9 6 4
Output
false
Rubbish error Test
Input
5 9 6 1 4 2 5 3 7
6 1 4 3 5 8 2 4 8
5 6 9 4 1 2 5 3 6
1 9 5 3 6 8 4 1 6
5 9 3 6 3 4 8 2 1
5 9 5 3 2 1 4 5 6
1 3 6 4 8 6 5 2 5
4 1 2 3 6 8 4 9 2
3 6 8 7 4 1 5 6 3
Output
false
Rubbish error Validator
Input
1 6 7 3 4 9 6 4 5
6 3 4 9 8 7 2 5 6
5 3 6 9 8 4 2 6 7
5 8 3 1 6 8 4 5 3
5 6 9 7 4 2 5 3 1
2 3 4 8 6 5 1 2 8
6 8 4 2 3 6 8 4 2
8 6 2 4 9 1 3 7 4
5 3 2 9 4 1 6 8 4
Output
false
When summing is not enough Test
Input
1 3 3 4 5 6 7 7 9
4 5 6 7 7 9 1 3 3
7 7 9 1 3 3 4 5 6
9 1 3 3 4 5 6 7 7
3 4 5 6 7 7 9 1 3
6 7 7 9 1 3 3 4 5
7 9 1 3 3 4 5 6 7
3 3 4 5 6 7 7 9 1
5 6 7 7 9 1 3 3 4
Output
false
When summing is not enough Validator
Input
1 2 4 4 5 6 6 8 9
4 5 6 6 8 9 1 2 4
6 8 9 1 2 4 4 5 6
9 1 2 4 4 5 6 6 8
4 4 5 6 6 8 9 1 2
6 6 8 9 1 2 4 4 5
8 9 1 2 4 4 5 6 6
2 4 4 5 6 6 8 9 1
5 6 6 8 9 1 2 4 4
Output
false
Solution language
Solution
Stub generator input