Tantangan Anda adalah menulis program, fungsi, dll. Yang menghitung jika string yang dikirimkan "dalam urutan". Itu berarti bahwa karakter string memiliki kode karakter yang berurutan dari yang terkecil hingga yang terbesar. Kode char terkecil harus menjadi yang pertama. Maksud saya codepoint unicode terendah ke tertinggi. Tidak masalah halaman kode apa yang Anda gunakan bahasa.
Anda harus mengembalikan satu nilai jika inputnya "berurutan" dan yang lainnya jika tidak. Nilai harus berbeda, tetapi tidak ada batasan lain pada nilai output. Misalnya, Anda dapat mencetak / mengembalikan / menghasilkan true
untuk !1AQaq¡±
(berurutan) dan false
untuk aq!QA
. Dua nilai berbeda tidak perlu benar atau salah atau semacamnya, hanya dua nilai berbeda. String berulang (mis. aa
) Dalam urutan.
Anda hanya perlu mendukung hingga unicode U+007E
( ~
) (ascii 126)
Namun, karakter program Anda sendiri harus berurutan. Semoga sukses dan senang bermain golf !
sumber
"aa"
beres?Jawaban:
Brachylog , 2 byte
Cobalah online!
Penjelasan
Sebagai sebuah program penuh, sebuah pernyataan kegagalan memberikan
false.
, setiap upaya yang berhasil yang tidak melanggar pernyataan yang diberikantrue.
sumber
Jelly , 2 byte
Cobalah online!
Penjelasan
⁼Ṣ
juga memiliki fungsionalitas yang tepat ("bandingkan input dengan input yang diurutkan"), jadi itu hanya kasus menjalankan dua program pada diri mereka sendiri untuk mencari tahu yang berada dalam urutan (saya tentu tidak memiliki codepoints Unicode dari bagian ini) set karakter aneh Jelly yang dihafal).sumber
⁼Ṣ
sebaliknya. Anda dapat melihat codepage Jelly di sini .⁼Ṣ
tidak persis sama denganṢ⁼
.MATL , 5 byte
Keluaran
0
jika input dalam urutan,1
jika tidak.Cobalah online!
Penjelasan
Ini menghitung modulus (titik kode) masing-masing karakter dari input dengan indeks yang sama pada input yang diurutkan. Input dalam urutan jika dan hanya jika semua hasil
0
.Sebagai contoh, perhatikan string input
BCD!
. Menyortir itu memberi'!BCD
. Array poin kode masing-masing[66 67 68 33]
dan[33 66 67 68]
. Komputasi yang diberikan moduli[0 1 1 33]
, sehingga inputnya tidak berurutan. Perhatikan bagaimana beberapa hasil dapat menjadi0
bahkan jika nilainya tidak sama (di sini yang terjadi di posisi pertama), tetapi itu tidak dapat terjadi di semua entri kecuali inputnya dalam urutan.sumber
05AB1E ,
32 byteTerima kasih kepada Kevin karena telah memotong 33% dari kode sumber saya!
Cobalah online!
Penjelasan:
sumber
D{Q
juga berfungsi ...D
dapat dihapus karena -1 dengan hanya menggunakan input implisit dua kali.Pyke , 2 byte
Cobalah online!
sumber
2sable , 2 byte
Cobalah online!
Penjelasan
Output 0 jika order, kalau tidak 1 .
sumber
Pyth, 2 byte
False
berarti diurutkan,True
berarti tidak disortir.Suite uji
Ini tidak biasa untuk dipikirkan. Solusi paling jelas untuk masalah ini, tanpa sumber terbatas, adalah
SI
, tidak berubah berdasarkan penyortiran. Tapi itu tidak diurutkan. Kemudian saya berpikirqS
, yang secara implisit menggunakan variabel input dua kali, memeriksa apakah itu sama dengan diri yang diurutkan. Tapi sementaraq < s
,,q > S
jadi ini juga tidak berhasil. Tetapi<
datang sebelumnyaS
, dan satu-satunya cara agar versi yang disortir tidak boleh kurang dari yang asli adalah jika yang asli disortir, karena versi yang disortir adalah permutasi minimum secara leksikografis dari elemen-elemen tersebut.sumber
CGL (CGL Golfing Language) , 4 byte (tidak bersaing)
Penjelasan:
Non-bersaing karena
:
,,S
danc
diimplementasikan setelah penciptaan tantangan ini.sumber