Ein Aspekt beim Testen der Kennwortstärke besteht darin, dass mehrere benachbarte Buchstaben auf der Tastatur ausgeführt werden. Bei dieser Herausforderung muss ein Programm erstellt werden, das zurückgibt, true
wenn eine Zeichenfolge mehrere benachbarte Buchstaben enthält.
Was zählt als Aneinanderreihung von Buchstaben?
Bei dieser vereinfachten Version eines Kennwortprüfgeräts besteht eine Folge benachbarter Zeichen aus 3 oder mehr Buchstaben, die auf einer QWERTZ-Tastatur in einer Richtung (links, rechts, oben oder unten) nebeneinander stehen. Für diese Herausforderung sieht das Layout der Tastatur folgendermaßen aus:
1234567890
QWERTYUIOP
ASDFGHJKL
ZXCVBNM
In der obigen Abbildung Q
ist unten, 1
aber nicht unten 2
, sodass ein String, der 1qa
oder aq1
irgendwo darin enthalten ist, das Programm zurückgeben würde true
, aber 2qa
nicht.
Eingang
Die zu überprüfende Kennwortzeichenfolge. Es enthält nur die Zeichen [0-9a-z]
oder [0-9A-Z]
(Ihre Wahl).
Ausgabe
Das Programm muss einen Wahrheitswert zurückgeben, wenn das Kennwort eine oder mehrere Reihen benachbarter Schlüssel enthält, oder falsch, wenn es keine enthält.
Beispiele
Die folgenden Eingaben sollten true ausgeben:
asd
ytrewq
ju7
abc6yhdef
Und diese Eingaben sollten false ausgeben:
abc
aaa
qewretry
zse
qwdfbn
pas
Regeln
- Die Antworten können vollständige Programme oder Funktionen sein.
- Standardlücken sind nicht zulässig.
- Dies ist Code-Golf , die niedrigste Punktzahl (in Bytes) gewinnt!
Antworten:
Pyth -
666260 BytesZiemlich unkomplizierter Ansatz. Prüft, ob sich eine der Teilzeichenfolgen 3 in einer der Drehungen der Tastatur befindet. Verwendet die Basiscodierung für die Tastatur.
Test Suite .
quelle
Japt , 78 Bytes
Japt ist eine verkürzte Version von Ja vaScri pt . Dolmetscher
Ausgänge
0
für Falschgeldfälle; ansonsten eine positive ganze Zahl. Das?
sollte durch das nicht druckbare Unicode-Zeichen U + 0086 ersetzt werden, oder wenn Sie sich nicht um all diese Probleme kümmern möchten, einfachas
.Wie es funktioniert
quelle
C #, 227
0 ist falsch, 1 ist wahr. Verketten Sie alle Tasten horizontal und vertikal und vertauschen Sie sie. Überprüfen Sie, ob 3 Zeichen der Eingabe enthalten sind.
C # ist wirklich wortreich, muss in andere Sprachen eintauchen :(
quelle
PHP, 173 + 1 Bytes
Laufen Sie als Pipe mit
-nR
Kleinbuchstaben oder versuchen Sie es online .quelle
Clojure, 156 Bytes
Dies war eine sehr interessante Aufgabe.
quelle