Votre tâche consiste à écrire un programme ou une fonction informatique qui prend une liste d'entiers positifs d'au moins 2 et détermine s'il s'agit d'un "zigzag". Une séquence est un zigzag si et seulement si les nombres alternent en étant plus grands et plus petits que le nombre qui les précède. Par exemple, et sont des zigzags mais et ne le sont pas.[ 1 , 2 , 0 , 0 , 3 , 1 ] [ 1 , 2 , 3 , 1 ]
Pour votre décision, vous devez sortir l'une des deux valeurs cohérentes différentes pour chaque possibilité (zigzag et non zigzag).
Les points de code de votre programme ou fonction doivent également être un zigzag lui-même. Cela signifie que lorsque vous prenez la séquence de points de code, il doit s'agir d'un zigzag.
Il s'agit de code-golf donc les réponses seront notées en octets avec moins d'octets mieux.
la source
Réponses:
Gelée , 5 octets
Renvoie (zigzag) ou 1 (pas zigzag).0 1
Les points de code sont dans la page de codes Jelly .[73,205,73,176,174]
Essayez-le en ligne!
Comment ça fonctionne
la source
Haskell , 87 octets
Essayez-le en ligne!
Je voulais faire bouger les choses en termes de réponses Haskell. Je ne vois pas encore de moyen d'améliorer cela, mais je suis convaincu que cela peut être fait. J'ai hâte de voir ce que les gens peuvent faire d'ici.
la source
MATL , 9 octets
Essayez-le en ligne! Ou vérifiez tous les cas de test
Mon tout premier programme MATL! L'avant-dernier a
p
été ajouté pour l'exigence de zigzag.Explication:
la source
]
vit apparemment entre les majuscules et les minuscules, doncd
à]
et]
àA
aurait été des diminutions, ce qui n'est pas autorisé. Donc, lep
est principalement là pour avoir un incrément de point de code entre les deux.Python 2 ,
225223161139 octets-2 octets grâce à Jakob
-62 octets grâce à Dennis
Essayez-le en ligne!
Les crédits pour l'algorithme cahoteux vont à cette réponse
input
,print
,exec
,def
Etlambda
ne sont pas bosselée donc je ne suiseval
parti, ce qui est stocké sure
Il existe 2 façons de contourner la restriction, en plaçant
"+"
ouentre les paires non bosselées, j'ai opté pour l'ancien (
est plus courte pour chaque utilisation, mais il faudrait qu'il en
replace(' ','')
résulte plus d'octets.)Comme ce
print
n'est pas cahoteux, je ne peux pas l'utiliser directement, et comme ce n'est pas une fonction, je ne peux pas l'utiliser à l'intérieureval()
, donc j'ai dû utiliserinput(result)
pour sortir le résultatla source
' ' * 0
par' ' [1: ]
.input(text)
pour écrire dans STDOUT.K (ngn / k) , 23 octets
Essayez-le en ligne!
la source
Ohm v2 , 5 octets
Essayez-le en ligne!
Comment ça fonctionne
la source
Japt
-!
,1614 octetsEh bien, ce n'est pas joli mais je suis juste content que ça marche!
Sorties
true
pour zig-zag oufalse
sinon.Essayez-le
Les points de code sont
[228,39,45,32,109,39,103,32,228,39,97,32,232,205]
et sont inclus comme test dans le lien ci-dessus.Explication
la source
Gelée , 6 octets
Essayez-le en ligne!
Retourne
1
pour la vérité,0
pour la fausseté.Codepoints :
[73, 205, 9, 97, 73, 171]
( valide )la source
Perl 6 , 61 octets
Essayez-le en ligne!
Les points de code sont:
Et oui, ce sont des caractères unicode là-dedans. C'est plus ou moins ma solution d'origine, avec quelques espaces et accolades mélangés.
la source
05AB1E , 10 octets
Essayez-le en ligne!
Explication
Les points de code sont:
[165, 68, 196, 47, 165, 40, 196, 50, 81, 80]
la source
JavaScript (ES6),
6260 octetsEssayez-le en ligne!
Points de code:
la source
map
c'est en zigzag!05AB1E , 8 octets
Renvoie
1.0
pour les0.0
séquences en zigzag et pour les séquences sans zigzag.Les points de code se trouvent
[164,108,176,164,195,2,109,25]
dans la page de codes 05AB1E .Essayez-le en ligne.
Explication:
la source