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-9sebagai input harus kembali1.
7mengkonversi ke kode ASCII55, dan9mengkonversi ke kode ASCII57.Seperti yang
57terjadi secara numerik setelah55,9lebih dari7.
Contoh lain:
LKzb-LKajsebagai input harus kembali-1Urutan kode ASCII untuk ini adalah
76-75-122-98dan76-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 jlebih lama dari b, zlebih 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->-111-Z->-13h~J*-3h~J*->0Xv-Y0->1
11-Z-> -1tidak 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>Zdalam 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.