Tugas Anda adalah menulis program atau fungsi komputer yang mengambil daftar bilangan bulat positif dengan panjang minimal 2 dan menentukan apakah mereka "zigzag". Urutan adalah zig-zag jika dan hanya jika angka berganti menjadi lebih besar dan lebih kecil dari angka yang datang sebelumnya. Misalnya dan [ 4 , 2 , 3 , 0 , 1 ] adalah zig-zag tetapi [ 1 , 2 , 0 , 0 , 3 , 1 ]dan tidak.
Untuk keputusan Anda, Anda harus menampilkan salah satu dari dua nilai konsisten yang berbeda untuk setiap kemungkinan (zigzag dan bukan zigzag).
Poin kode program atau fungsi Anda juga harus merupakan zigzag itu sendiri. Ini berarti bahwa ketika Anda mengambil urutan titik-kode itu harus zig-zag.
Ini adalah kode-golf sehingga jawaban akan dicetak dalam byte dengan lebih sedikit byte yang lebih baik.
sumber
Jawaban:
Jelly , 5 byte
Mengembalikan (zigzag) atau 1 (bukan zigzag).0 1
Poin kode adalah di halaman kode Jelly .[ 73 , 205 , 73 , 176 , 174 ]
Cobalah online!
Bagaimana itu bekerja
sumber
Haskell , 87 byte
Cobalah online!
Saya ingin mendapatkan bola bergulir dalam hal jawaban Haskell. Saya belum melihat cara untuk meningkatkan ini, tetapi saya yakin itu bisa dilakukan. Saya menantikan apa yang dapat dilakukan orang dari sini.
sumber
MATL , 9 byte
Cobalah online! Atau verifikasi semua kasus uji
Program MATL pertama saya! Kedua dari belakang
p
ditambahkan untuk persyaratan zigzag.Penjelasan:
sumber
]
rupanya tinggal di antara huruf kapital dan huruf kecil, jadid
ke]
dan]
untukA
keduanya akan merupakan penurunan, yang tidak diizinkan. Jadip
terutama ada untuk memiliki peningkatan codepoint antara keduanya.Python 2 ,
225223161139 byte-2 byte terima kasih kepada Jakob
-62 byte terima kasih untuk Dennis
Cobalah online!
Kredit untuk algoritma bergelombang digunakan untuk jawaban ini
input
,print
,exec
,def
Danlambda
tidak bergelombang jadi aku hanya punyaeval
kiri, yang disimpan padae
Ada 2 cara utama untuk memotong pembatasan, menempatkan
"+"
atauantara pasangan non-bergelombang, aku memilih untuk mantan (
lebih pendek untuk setiap penggunaan, tapi itu akan memerlukan
replace(' ','')
menghasilkan lebih banyak byte)Karena
print
tidak bergelombang, saya tidak dapat menggunakannya secara langsung, dan karena itu bukan fungsi saya tidak dapat menggunakannya di dalameval()
, jadi saya harus menggunakaninput(result)
untuk menampilkan hasilnyasumber
' ' * 0
untuk' ' [1: ]
.input(text)
untuk menulis ke STDOUT.K (ngn / k) , 23 byte
Cobalah online!
sumber
Ohm v2 , 5 byte
Cobalah online!
Bagaimana itu bekerja
sumber
Japt
-!
,1614 byteYah, ini tidak cantik tapi aku senang itu berhasil!
Output
true
untuk zig-zag ataufalse
jika tidak.Cobalah
Codepoints
[228,39,45,32,109,39,103,32,228,39,97,32,232,205]
dan dimasukkan sebagai ujian dalam tautan di atas.Penjelasan
sumber
Jelly , 6 byte
Cobalah online!
Pengembalian
1
untuk kebenaran,0
untuk kepalsuan.Codepoints :
[73, 205, 9, 97, 73, 171]
( valid )sumber
Perl 6 , 61 byte
Cobalah online!
Poin kode adalah:
Dan ya, itu adalah karakter unicode di sana. Ini kurang lebih solusi orisinal saya, dengan beberapa ruang dan kurung kurawal bercampur.
sumber
05AB1E , 10 byte
Cobalah online!
Penjelasan
Poin kode adalah:
[165, 68, 196, 47, 165, 40, 196, 50, 81, 80]
sumber
JavaScript (ES6),
6260 byteCobalah online!
Poin kode:
sumber
map
adalah zig-zag!05AB1E , 8 byte
Pengembalian
1.0
untuk zig-zag dan0.0
untuk urutan non-zig-zag.Poin kode ada
[164,108,176,164,195,2,109,25]
di halaman kode 05AB1E .Cobalah online.
Penjelasan:
sumber