Twoim zadaniem jest napisanie programu komputerowego lub funkcji, która pobiera listę liczb całkowitych dodatnich o długości co najmniej 2 i określa, czy są one „zygzakiem”. Sekwencja jest zygzakiem wtedy i tylko wtedy, gdy liczby na przemian są większe i mniejsze niż liczba, która jest przed nimi. Na przykład i to zygzaki, ale i nie są.[ 4 , 2 , 3 , 0 , 1 ] [ 1 , 2 , 0 , 0 , 3 , 1 ] [ 1 , 2 , 3 , 1 ]
Dla swojej decyzji powinieneś wypisać jedną z dwóch różnych spójnych wartości dla każdej możliwości (zygzak i nie zygzak).
Punkty kodowe twojego programu lub funkcji muszą być również zygzakiem. Oznacza to, że jeśli weźmiesz sekwencję punktów kodowych, powinna to być zygzak.
To jest golf golfowy, więc odpowiedzi będą liczone w bajtach, przy czym mniej bajtów będzie lepszych.
źródło
Odpowiedzi:
Galaretka , 5 bajtów
Zwraca (zygzak) lub (nie zygzak).10 1
Punkty kodowe to na stronie kodowej Jelly .[ 73 , 205 , 73 , 176 , 174 ]
Wypróbuj online!
Jak to działa
źródło
Haskell , 87 bajtów
Wypróbuj online!
Chciałem sprawić, by piłka potoczyła się pod względem odpowiedzi Haskella. Nie widzę jeszcze sposobu, aby to poprawić, ale jestem przekonany, że da się to zrobić. Nie mogę się doczekać, co ludzie mogą zrobić stąd.
źródło
MATL , 9 bajtów
Wypróbuj online! Lub sprawdź wszystkie przypadki testowe
Mój pierwszy w historii program MATL! Przedostatni
p
został dodany do wymogu zygzaka.Wyjaśnienie:
źródło
]
podobno mieszka między literami i małych liter, takd
aby]
i]
naA
to oba zostały ubytków, które nie jest dozwolony. Jest więcp
głównie po to, aby między tymi dwoma zwiększyć punkt kodowy.Python 2 ,
225223161139 bajtów-2 bajty dzięki Jakobowi
-62 bajtów dzięki Dennisowi
Wypróbuj online!
Kredyty na wyboisty algorytm trafiają do tej odpowiedzi
input
,print
,exec
,def
Ilambda
nie nie są proste, więc mam tylkoeval
w lewo, który jest przechowywany nae
Istnieją 2 główne sposoby na ominięcie ograniczeń, wprowadzania
"+"
lubmiędzy non-wyboistej parach, Zdecydowałem się na pierwszej (
jest krótszy dla każdego zastosowania, ale wymagałoby to uzyskania
replace(' ','')
większej liczby bajtów)Ponieważ
print
nie jest wyboisty, nie mogę go użyć bezpośrednio, a ponieważ nie jest to żadna funkcja, nie mogę go użyć wewnątrzeval()
, więc musiałem użyć go,input(result)
aby wygenerować wynikźródło
' ' * 0
za' ' [1: ]
.input(text)
do pisania do STDOUT.K (ngn / k) , 23 bajty
Wypróbuj online!
źródło
Ohm v2 , 5 bajtów
Wypróbuj online!
Jak to działa
źródło
Japt
-!
,1614 bajtówCóż, to nie jest ładne, ale cieszę się, że to działa!
Wyjścia
true
dla zygzaka lubfalse
jeśli nie.Spróbuj
Punkty kodowe są
[228,39,45,32,109,39,103,32,228,39,97,32,232,205]
i uwzględniane jako test w powyższym linku.Wyjaśnienie
źródło
Galaretka , 6 bajtów
Wypróbuj online!
Zwraca
1
za prawdę,0
za fałsz.Punkty kodowe :
[73, 205, 9, 97, 73, 171]
( ważne )źródło
Perl 6 , 61 bajtów
Wypróbuj online!
Punkty kodowe to:
I tak, są tam znaki Unicode. To mniej więcej moje oryginalne rozwiązanie, z kilkoma spacjami i nawiasami klamrowymi.
źródło
05AB1E , 10 bajtów
Wypróbuj online!
Wyjaśnienie
Punkty kodowe to:
[165, 68, 196, 47, 165, 40, 196, 50, 81, 80]
źródło
JavaScript (ES6),
6260 bajtówWypróbuj online!
Punkty kodowe:
źródło
map
jest zygzakiem!05AB1E , 8 bajtów
Zwraca
1.0
dla0.0
sekwencji zygzakowatych i dla sekwencji niezygzakowatych.Punkty kodowe znajdują się
[164,108,176,164,195,2,109,25]
na stronie kodowej 05AB1E .Wypróbuj online.
Wyjaśnienie:
źródło