diff --git a/JavaScript Solution/yourScript.js b/JavaScript Solution/yourScript.js index 6f583d6..2b102c8 100644 --- a/JavaScript Solution/yourScript.js +++ b/JavaScript Solution/yourScript.js @@ -4,70 +4,16 @@ let board = [ [".", "9", "8", ".", ".", ".", ".", "6", "."], ["8", ".", ".", ".", "6", ".", ".", ".", "3"], ["4", ".", ".", "8", ".", "3", ".", ".", "1"], - ["7", ".", ".", ".", "2", ".", ".", ".", "6"], + ["7", "a", ".", ".", "2", ".", ".", ".", "6"], [".", "6", ".", ".", ".", ".", "2", "8", "."], [".", ".", ".", "4", "1", "9", ".", ".", "5"], [".", ".", ".", ".", "8", ".", ".", "7", "9"], ]; -function isValidRow(board, row) { - let seen = new Set(); - for (let i = 0; i < 9; i++) { - let num = board[row][i]; - if (num !== 0 && seen.has(num)) { - return false; - } - seen.add(num); - } - return true; -} +function isValidRow(board, row) {} -function isValidColumn(board, col) { - let seen = new Set(); - for (let i = 0; i < 9; i++) { - let num = board[i][col]; - if (num !== 0 && seen.has(num)) { - return false; - } - seen.add(num); - } - return true; -} +function isValidColumn(board, col) {} -function isValidSubgrid(board, startRow, startCol) { - let seen = new Set(); - for (let row = startRow; row < startRow + 3; row++) { - for (let col = startCol; col < startCol + 3; col++) { - let num = board[row][col]; - if (num !== 0 && seen.has(num)) { - return false; - } - seen.add(num); - } - } - return true; -} +function isValidSubgrid(board, startRow, startCol) {} -function isValidSudoku(board) { - result: HTMLElement = document.getElementById("result"); - - for (let i = 0; i < 9; i++) { - if (!isValidRow(board, i) || !isValidColumn(board, i)) { - console.log("Board is Unvalid"); - result.innerHTML = "Result: Unvalid"; - return false; - } - } - for (let i = 0; i < 9; i += 3) { - for (let j = 0; j < 9; j += 3) { - if (!isValidSubgrid(board, i, j)) { - console.log("Board is Unvalid"); - result.innerHTML = "Result: Unvalid"; - return false; - } - } - } - console.log("Board is Valid"); - result.innerHTML = "Result: Valid"; - return true; -} +function isValidSudoku(board) {} diff --git a/JavaScript Solution/yourScript_solution.js b/JavaScript Solution/yourScript_solution.js new file mode 100644 index 0000000..7bc7187 --- /dev/null +++ b/JavaScript Solution/yourScript_solution.js @@ -0,0 +1,73 @@ +let board = [ + ["5", "3", ".", ".", "7", ".", ".", ".", "."], + ["6", ".", ".", "1", "9", "5", ".", ".", "."], + [".", "9", "8", ".", ".", ".", ".", "6", "."], + ["8", ".", ".", ".", "6", ".", ".", ".", "3"], + ["4", ".", ".", "8", ".", "3", ".", ".", "1"], + ["7", "a", ".", ".", "2", ".", ".", ".", "6"], + [".", "6", ".", ".", ".", ".", "2", "8", "."], + [".", ".", ".", "4", "1", "9", ".", ".", "5"], + [".", ".", ".", ".", "8", ".", ".", "7", "9"], +]; + +function isValidRow(board, row) { + let seen = new Set(); + for (let i = 0; i < 9; i++) { + let num = board[row][i]; + if (num !== 0 && seen.has(num)) { + return false; + } + seen.add(num); + } + return true; +} + +function isValidColumn(board, col) { + let seen = new Set(); + for (let i = 0; i < 9; i++) { + let num = board[i][col]; + if (num !== 0 && seen.has(num)) { + return false; + } + seen.add(num); + } + return true; +} + +function isValidSubgrid(board, startRow, startCol) { + let seen = new Set(); + for (let row = startRow; row < startRow + 3; row++) { + for (let col = startCol; col < startCol + 3; col++) { + let num = board[row][col]; + if (num !== 0 && seen.has(num)) { + return false; + } + seen.add(num); + } + } + return true; +} + +function isValidSudoku(board) { + result: HTMLElement = document.getElementById("result"); + + for (let i = 0; i < 9; i++) { + if (!isValidRow(board, i) || !isValidColumn(board, i)) { + console.log("Board is Unvalid"); + result.innerHTML = "Result: Unvalid"; + return false; + } + } + for (let i = 0; i < 9; i += 3) { + for (let j = 0; j < 9; j += 3) { + if (!isValidSubgrid(board, i, j)) { + console.log("Board is Unvalid"); + result.innerHTML = "Result: Unvalid"; + return false; + } + } + } + console.log("Board is Valid"); + result.innerHTML = "Result: Valid"; + return true; +}