From 2c9f558166d53d37db363b89d7ec9a2a13c7e7c2 Mon Sep 17 00:00:00 2001 From: ZennDev1337 Date: Tue, 2 Apr 2024 09:51:35 +0200 Subject: [PATCH] update --- readme.md | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 readme.md diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..89dfe6d --- /dev/null +++ b/readme.md @@ -0,0 +1,78 @@ +Sudoku Validierungsaufgabe +========================== + +Aufgabenstellung: +----------------- + +### Ziel: + +Das Ziel dieser Aufgabe ist es, ein JavaScript-Programm zu entwickeln, das die Gültigkeit eines 9x9 Sudoku-Bretts überprüft. + +### Beschreibung: + +Ein Sudoku-Brett besteht aus einer 9x9 Matrix, die in 3x3 Blöcke unterteilt ist. Jede Zelle des Bretts kann entweder eine Zahl von 1 bis 9 oder einen Punkt ('.') enthalten, der eine leere Zelle darstellt. Ein gültiges Sudoku-Brett muss drei Bedingungen erfüllen: + +1. **Jede Zeile muss die Zahlen 1-9 ohne Wiederholung enthalten.** +2. **Jede Spalte muss die Zahlen 1-9 ohne Wiederholung enthalten.** +3. **Jedes der neun 3x3-Unterquadrate muss die Zahlen 1-9 ohne Wiederholung enthalten.** + +Es ist wichtig zu beachten, dass ein Sudoku-Brett (auch wenn es teilweise gefüllt ist) gültig sein kann, aber nicht unbedingt lösbar ist. Daher müssen in dieser Aufgabe nur die gefüllten Zellen gemäß den oben genannten Regeln überprüft werden. + +### Eingabe: + +Die Eingabe für das Programm ist ein zweidimensionales Array von Zeichenfolgen, das das Sudoku-Brett repräsentiert. Jede Zeichenfolge in der Matrix entspricht einer Zelle im Brett. Eine Ziffer von '1' bis '9' repräsentiert eine gefüllte Zelle, während der Punkt ('.') eine leere Zelle darstellt. + +### Ausgabe: + +Die Ausgabe des Programms sollte ein boolescher Wert sein: 'true', wenn das gegebene Sudoku-Brett gültig ist, und 'false', wenn es ungültig ist. + +### Beispiele: + +#### Beispiel 1: + +**Eingabe:** + +```js +[ + ["5","3",".",".","7",".",".",".","."], + ["6",".",".","1","9","5",".",".","."], + [".","9","8",".",".",".",".","6","."], + ["8",".",".",".","6",".",".",".","3"], + ["4",".",".","8",".","3",".",".","1"], + ["7",".",".",".","2",".",".",".","6"], + [".","6",".",".",".",".","2","8","."], + [".",".",".","4","1","9",".",".","5"], + [".",".",".",".","8",".",".","7","9"] +] +``` + +**Ausgabe:** true + +#### Beispiel 2: + +**Eingabe:** + +```js +[ + ["8","3",".",".","7",".",".",".","."], + ["6",".",".","1","9","5",".",".","."], + [".","9","8",".",".",".",".","6","."], + ["8",".",".",".","6",".",".",".","3"], + ["4",".",".","8",".","3",".",".","1"], + ["7",".",".",".","2",".",".",".","6"], + [".","6",".",".",".",".","2","8","."], + [".",".",".","4","1","9",".",".","5"], + [".",".",".",".","8",".",".","7","9"] +] +``` + +**Ausgabe:** false + +**Erklärung:** Im Beispiel 2 wurde die '5' in der oberen linken Ecke durch '8' ersetzt. Da es zwei '8' im oberen linken 3x3-Teilquadrat gibt, ist es ungültig. + +### Hinweise: + +- Sie können annehmen, dass das gegebene Sudoku-Brett immer eine Größe von 9x9 hat. +- Jede Zeile und jede Spalte des Bretts hat eine Länge von 9. +- Jede Zelle des Bretts enthält entweder eine Ziffer von 1-9 oder einen Punkt ('.'). +- Ihre Lösung sollte effizient sein und in der Lage sein, mit großen Eingaben umzugehen, da die Größe des Sudoku-Bretts variieren kann. \ No newline at end of file