Ini adalah tantangan golf kode yang cukup sederhana. Program Anda, diberi string ASCII, adalah untuk mengurai string itu menjadi dua string, yang akan dievaluasi. Jika string kedua "kemudian" dari yang pertama, itu akan mengembalikan 1, jika "lebih awal" dari yang pertama, itu akan mengembalikan -1, dan jika mereka sama, itu akan mengembalikan 0. Ke mengklarifikasi apa yang dimaksud "nanti" dan "sebelumnya", mari kita lihat kode karakter ASCII. Anda perlu membandingkan setiap karakter string, memperlakukan masing-masing sebagai digit angka. Kemudian mengacu pada jumlah yang lebih besar, terjadi setelah jumlah yang lebih kecil. String akan diformat dengan karakter tanda hubung untuk memisahkan dua kelompok input.
Lihatlah contoh ini:
7-9
sebagai input harus kembali1
.
7
mengkonversi ke kode ASCII55
, dan9
mengkonversi ke kode ASCII57
.Seperti yang
57
terjadi secara numerik setelah55
,9
lebih dari7
.
Contoh lain:
LKzb-LKaj
sebagai input harus kembali-1
Urutan kode ASCII untuk ini adalah
76-75-122-98
dan76-75-97-106
Ini adalah tantangan kode golf, dan jumlah byte adalah bagaimana entri akan dinilai.
Setiap input dari 95 karakter ASCII yang dapat dicetak diterima, tidak termasuk spasi, dan tanda hubung untuk apa pun selain memisahkan input. Selain itu, string tidak dijamin memiliki panjang yang sama.
Semoga berhasil!
EDIT: Agar lebih jelas, setiap karakter harus diperlakukan seperti angka dalam angka. Dalam contoh LKzb-LKaj
, meskipun j
lebih lama dari b
, z
lebih lambat dari a
, dan karena ini adalah digit yang lebih signifikan, ia harus diutamakan. String yang disediakan akan selalu minimal 3 karakter, menghilangkan string kosong dari ruang lingkup masalah ini.
EDIT: Berikut adalah beberapa kasus uji lagi, untuk bantuan Anda:
A-9
->-1
11-Z
->-1
3h~J*-3h~J*
->0
Xv-Y0
->1
11-Z
-> -1
tidak masuk akal mengingat kata-kata saat ini dari pertanyaan. Z
(90) lebih besar dari 1
(49) dan merupakan huruf paling signifikan. Harap jelaskan bagaimana string dengan panjang yang berbeda dibandingkan.
11>Z
dalam contoh Anda kapan 1<Z
. Harus ada beberapa perilaku tidak terdefinisi untuk dilakukan dengan string dengan panjang yang berbeda atau contohnya salah.
~
pada 126, kemudian akan menambah digit berikutnya dengan satu, mengembalikan digit awal ke !
. Setiap peningkatan dalam digit paling signifikan sama dengan peningkatan digit kedua paling signifikan dengan 127.