Sua tarefa é escrever um programa ou função de computador que obtenha uma lista de números inteiros positivos de pelo menos o comprimento 2 e determine se eles são um "zigue-zague". Uma sequência é um ziguezague se, e somente se, os números se alternarem em maiores e menores do que o número que vem antes deles. Por exemplo e são ziguezagues, mas e não são.[ 4 , 2 , 3 , 0 , 1 ] [ 1 , 2 , 0 , 0 , 3 , 1 ] [ 1 , 2 , 3 , 1 ]
Para sua decisão, você deve gerar um dos dois valores consistentes diferentes para cada possibilidade (em zigue-zague e não em zigue-zague).
Os pontos de código do seu programa ou função também devem ser em zigue-zague. Isso significa que quando você pega a sequência de pontos de código, deve ser um zigue-zague.
Isso é código-golfe, então as respostas serão pontuadas em bytes, com menos bytes sendo melhores.
fonte
Respostas:
Gelatina , 5 bytes
Retorna (em zigue-zague) ou 1 (não em zigue-zague).0 0 1
Os pontos de código estão na página de códigos Jelly .[ 73 , 205 , 73 , 176 , 174 ]
Experimente online!
Como funciona
fonte
Haskell , 87 bytes
Experimente online!
Eu queria fazer a bola rolar em termos de respostas de Haskell. Ainda não vejo uma maneira de melhorar isso, mas estou convencido de que isso pode ser feito. Estou ansioso pelo que as pessoas podem fazer daqui.
fonte
MATL , 9 bytes
Experimente online! Ou verifique todos os casos de teste
Meu primeiro programa de MATL! O penúltimo
p
foi adicionado para o requisito em zigue-zague.Explicação:
fonte
]
aparentemente vive entre letras maiúsculas e minúsculas; portanto,d
para]
e]
paraA
ambos seriam decréscimos, o que não é permitido. Portanto,p
existe principalmente para haver um incremento de ponto de código entre os dois.Python 2 ,
225223161139 bytes-2 bytes graças a Jakob
-62 bytes graças a Dennis
Experimente online!
Os créditos para o algoritmo acidentado vão para esta resposta
input
,print
,exec
,def
Elambda
não são acidentado então eu só fuieval
para a esquerda, que é armazenado noe
Há 2 principais maneiras de contornar a restrição, colocando
"+"
ouentre os pares não-esburacadas, optei para a antiga (
é mais curto para cada uso, mas seria necessário
replace(' ','')
resultar em mais bytes)Como
print
não é acidentado, não posso usá-lo diretamente e, como não é uma função, não posso usá-lo por dentroeval()
, então tive que usarinput(result)
para gerar o resultadofonte
' ' * 0
por' ' [1: ]
.input(text)
para escrever em STDOUT.K (ngn / k) , 23 bytes
Experimente online!
fonte
Ohm v2 , 5 bytes
Experimente online!
Como funciona
fonte
Japonês
-!
,1614 bytesBem, isso não é bonito, mas estou feliz que funcione!
Saídas
true
para zig-zag oufalse
se não.Tente
Os pontos de código são
[228,39,45,32,109,39,103,32,228,39,97,32,232,205]
e estão incluídos como teste no link acima.Explicação
fonte
Gelatina , 6 bytes
Experimente online!
Retorna
1
por verdade,0
por falsidade.Pontos de código :
[73, 205, 9, 97, 73, 171]
( válido )fonte
Perl 6 , 61 bytes
Experimente online!
Os pontos de código são:
E sim, esses são caracteres unicode lá. Esta é mais ou menos a minha solução original, com alguns espaços e suspensórios misturados.
fonte
05AB1E , 10 bytes
Experimente online!
Explicação
Os pontos de código são:
[165, 68, 196, 47, 165, 40, 196, 50, 81, 80]
fonte
JavaScript (ES6),
6260 bytesExperimente online!
Pontos de código:
fonte
map
é em zigue-zague!05AB1E , 8 bytes
Retorna
1.0
para0.0
sequências em zigue-zague e para não zigue-zague.Os pontos de código estão
[164,108,176,164,195,2,109,25]
na página de códigos 05AB1E .Experimente online.
Explicação:
fonte