Die alphanumerischen Zeichen haben ASCII-Werte:
0-9 -> 48-57
A-Z -> 65-90
a-z -> 97-122
Ihre Herausforderung besteht darin, eine Ganzzahl als Eingabe zu verwenden und auszugeben, wie viele Zeichen mit aufeinanderfolgenden Ziffern dieser Zahl erstellt werden können. Die Zeichencodes können sich überlappen. 666
sollte ergeben 2
, da du 66
zweimal hast .
Testfälle:
Input: 5698
Possible characters: '8' (56), 'E' (69), 'b' (98)
Output: 3
Input: 564693
Possible characters: '8' (56), 'E' (69)
Output: 2
Input: 530923864209124521
Possible characters: '5' (53), 'V' (86), '4' (52)
Output: 3
Input: 1111111
Possible characters: 'ooooo' (5*111)
Output: 5
Input: 5115643141276343
Possible characters: '3' (51), '8' (56), 'L' (76), 's' (115)
Output: 4
Input: 56789
Possible characters: '8' (56), 'C' (67), 'N' (78), 'Y' (89)
Output: 4
Input: 94
Possible characters: ''
Output: 0
Input: 1
Output: 0
Eingabe- und Ausgabeformate sind optional (ja, Sie können die Ganzzahl als Zeichenfolge verwenden).
ŒžKÇÃg
geht nicht1111111
Testfall fehl .Ã
Das macht viel mehr Sinn, jetzt wo ich lese was es tut, Mist.Brachylog , 22 Bytes
Probieren Sie es online!
Erläuterung
quelle
T
zusammen verbinden?MATL ,
1713 BytesProbieren Sie es online! Oder überprüfen Sie alle Testfälle .
Erläuterung
quelle
Java 7,
204197195 BytesErläuterung:
Testcode:
Probieren Sie es hier aus.
quelle
r
). Ich konnte jedoch 7 Bytes Golf spielen, indem ich alles andere in die for-Schleife in einem einzigen Ternär setzte. Ich werde später vielleicht sehen, ob ich Ihren zweiten Vorschlag machen kann. Meine Mittagspause ist wieder vorbei, also muss ich mich wieder an die Arbeit machen. Ich werde es im Hinterkopf behalten.JavaScript (ES6),
71-70ByteTestfälle
Code-Snippet anzeigen
quelle
Perl 5 , 47 Bytes
46 Byte Code +
-p
Flag.Probieren Sie es online!
Ich konnte keinen kürzeren Weg finden, um Folgendes zu schreiben
48..57,65..90,97..122
:map{ord}0..9,a..z,A..Z
(Ermittelt den ASCII-Wert der Zeichen) Ist ein Byte länger. Und dabeifor$c(0..122){$\+=chr($c)=~/\pl|\d/ for/(?=$c)/g}}{
(nach allen Zahlen suchen, aber nur diejenigen behalten, deren Zahlen dem ASCII-Wert von Buchstaben (\pl
) oder Ziffern (\d
) entsprechen), sind 5 Byte länger (Anmerkung,\pl|\d
die nicht durch ersetzt werden kann,\w
da letztere auch Unterstriche enthalten). .Bisheriger Ansatz (49 Byte):
quelle
PHP, 68 Bytes
Online Version
quelle
JavaScript (ES),
165161156154153 ByteJa, RegEx war definitiv nicht das richtige Werkzeug für den Job hier!
Versuch es
quelle
Netzhaut , 52 Bytes
Probieren Sie es online! (beinhaltet Testsuite)
quelle
Python 2 ,
746462 BytesProbieren Sie es online!
quelle
Haskell,
161157138129126 BytesIch frage mich, ob es einen besseren Weg gibt, um Dupes aus der Liste zu entfernen, als Data.List for Nub zu importieren.
quelle
Data.Lists
stattData.List
, können Sie verwenden:y<-tail$powerslice x
.Data.Lists
. Es wird sogar in den Golftipps für Haskell erwähnt - bisher hat sich niemand beschwert.or $ f <$> list
istany f list
:any(elem$read y)[...]
.Pyth,
191714 Bytesnimmt eine Zeichenfolge.
-3 Bytes dank @LeakyNun
Versuch es!
Erläuterung
quelle
idT
, können Sie verwendensd
.l@jGUTmr0Csd.:
könnte kürzer sein (nicht sicher, ob es funktioniert).Gelee , 8 Bytes
Die Eingabe ist ein Ziffernfeld.
Probieren Sie es online!
Wie es funktioniert
quelle
Ruby, 50 Bytes
Liest von der Standardeingabe; setzt voraus, dass der Ruby-Interpreter mit dem aufgerufen wird
-n
Option (implizitewhile gets
Schleife) .Könnte auf 43 Bytes reduziert werden, wenn es erlaubt wäre, Unterstriche abzugleichen.
quelle
111
, was zurückkehren sollte,1
aber Sie geben zurück0
.Japt , 24 Bytes
Probieren Sie es online!
Alternative 27-Byte-Version:
Probieren Sie es online!
quelle