Ihre Aufgabe ist es, ein Computerprogramm oder eine Funktion zu schreiben, die eine Liste positiver Ganzzahlen von mindestens Länge 2 erstellt und feststellt, ob es sich um "Zickzack" handelt. Eine Sequenz ist nur dann ein Zickzack, wenn die Zahlen abwechselnd größer und kleiner sind als die Zahl, die vor ihnen steht. Zum Beispiel sind und [ 4 , 2 , 3 , 0 , 1 ] Zickzacke, aber und sind nicht.
Für Ihre Entscheidung sollten Sie für jede Möglichkeit einen von zwei verschiedenen konsistenten Werten ausgeben (Zickzack und nicht Zickzack).
Die Code-Punkte Ihres Programms oder Ihrer Funktion müssen auch selbst ein Zick-Zack sein. Das heißt, wenn Sie die Sequenz der Codepunkte nehmen, sollte es ein Zickzack sein.
Dies ist Codegolf, daher werden die Antworten in Bytes bewertet, wobei weniger Bytes besser sind.
quelle
Antworten:
Gelee , 5 Bytes
Gibt (Zickzack) oder 1 (nicht Zickzack) zurück.0 1
Die Codepunkte sind in der Jelly-Codepage .[73,205,73,176,174]
Probieren Sie es online!
Wie es funktioniert
quelle
Haskell , 87 Bytes
Probieren Sie es online!
Ich wollte den Ball ins Rollen bringen, was die Antworten von Haskell angeht. Ich kann noch keinen Weg finden, dies zu verbessern, aber ich bin überzeugt, dass dies möglich ist. Ich freue mich darauf, was die Leute von hier aus tun können.
quelle
MATL , 9 Bytes
Probieren Sie es online! Oder überprüfen Sie alle Testfälle
Mein erstes MATL-Programm! Das vorletzte
p
wurde für die Zick-Zack-Anforderung hinzugefügt.Erläuterung:
quelle
]
anscheinend lebt zwischen großbuchstaben und kleinbuchstaben, alsod
zu]
und]
zuA
wäre beides dekrementiert worden, was nicht erlaubt ist. Alsop
ist das hauptsächlich da, um ein Codepunktinkrement zwischen den beiden zu haben.Python 2 ,
225223161139 Bytes-2 Bytes dank Jakob
-62 Bytes dank Dennis
Probieren Sie es online!
Credits für den holprigen Algorithmus gehen an diese Antwort
input
,print
,exec
,def
Undlambda
sind nicht so holprig I bekam nureval
links, die auf gespeicherte
Es 2 wichtigsten Möglichkeiten zur Umgehung der Beschränkung sind, Anordnen
"+"
oderzwischen den nicht holprigen Paaren I entschied sich für die erstere (
ist für jede Verwendung kürzer, aber es müsste
replace(' ','')
mehr Bytes ergeben)Da
print
es nicht holprig ist, kann ich es nicht direkt verwenden, und da es keine Funktion ist, kann ich es nicht im Inneren verwendeneval()
, also musste ich es verwenden,input(result)
um das Ergebnis auszugebenquelle
' ' * 0
für' ' [1: ]
.input(text)
in STDOUT schreiben.K (ngn / k) , 23 Bytes
Probieren Sie es online!
quelle
Ohm v2 , 5 Bytes
Probieren Sie es online!
Wie es funktioniert
quelle
Japt
-!
,1614 BytesNun, das ist nicht schön, aber ich bin froh, dass es funktioniert!
Ausgänge
true
für Zick-Zack oderfalse
wenn nicht.Versuch es
Codepunkte sind
[228,39,45,32,109,39,103,32,228,39,97,32,232,205]
und als Test im obigen Link enthalten.Erläuterung
quelle
Gelee , 6 Bytes
Probieren Sie es online!
1
Kehrt zurück für Wahres,0
für Falsches.Codepunkte :
[73, 205, 9, 97, 73, 171]
( gültig )quelle
Perl 6 , 61 Bytes
Probieren Sie es online!
Die Codepunkte sind:
Und ja, das sind Unicode-Zeichen. Dies ist mehr oder weniger meine ursprüngliche Lösung, mit ein paar Leerzeichen und geschweiften Klammern.
quelle
05AB1E , 10 Bytes
Probieren Sie es online!
Erläuterung
Codepunkte sind:
[165, 68, 196, 47, 165, 40, 196, 50, 81, 80]
quelle
JavaScript (ES6),
62 -60 ByteProbieren Sie es online!
Code Punkte:
quelle
map
ist Zickzack!05AB1E , 8 Bytes
Gibt
1.0
für zickzackförmige und0.0
nicht zickzackförmige Sequenzen zurück.Die Codepunkte befinden sich
[164,108,176,164,195,2,109,25]
auf der Codepage 05AB1E .Probieren Sie es online aus.
Erläuterung:
quelle