Це досить простий виклик коду для гольфу. У вашій програмі, що має рядок ASCII, слід розбити цей рядок на два рядки, які вона оцінить. Якщо другий рядок "пізніше", ніж перший, він поверне 1, якщо він "раніше", ніж перший, він поверне -1, і якщо вони однакові, він поверне 0. До уточнимо, що означають "пізніше" та "раніше", давайте розглянемо коди символів ASCII. Вам потрібно порівняти кожен символ рядка, трактуючи кожен з них як цифри числа. Пізніше відноситься до більшої кількості, що виникає після меншої кількості. Рядки будуть відформатовані дефісом для розділення двох вхідних груп.
Погляньте на цей приклад:
7-9як вхід повинен повернутися1.
7перетворює в ASCII код55і9перетворює в ASCII код57.Як це
57відбувається чисельно після55,9пізніше, ніж7.
Ще один приклад:
LKzb-LKajяк вхід повинен повернутися-1Кодові послідовності ASCII для цього є
76-75-122-98і76-75-97-106
Це виклик для гольфу з кодом, і кількість байтів - це те, як будуть набрані записи.
Будь-який вхід із 95 друкованих символів ASCII приймається, за винятком пробілів та дефісів, окрім введення даних. Крім того, струни не гарантують однакової довжини.
Удачі!
РЕДАКТУВАННЯ: Щоб бути більш зрозумілим, до кожного символу слід ставитися як до цифри в цифрі. У прикладі LKzb-LKaj, хоча jце пізніше b, zале пізніше a, а оскільки це більш значна цифра, він має перевагу. Подається рядок завжди буде щонайменше 3 символами, виключаючи порожні рядки із сфери цієї проблеми.
EDIT: Ось ще кілька тестових випадків для вашої допомоги:
A-9->-111-Z->-13h~J*-3h~J*->0Xv-Y0->1
11-Z-> -1не має сенсу з огляду на поточне формулювання питання. Z(90) більше 1(49) і є найбільш значущою буквою. Будь ласка, уточніть, як порівнюються рядки різної довжини.
11>Zу ваших прикладах коли 1<Z. Має бути певна невизначена поведінка, що стосується рядків різної довжини, або приклад неправильний.
~на 126, а потім збільшували б наступну цифру на одну, повертаючи початкову цифру до !. Кожне збільшення найбільш значущої цифри еквівалентно збільшення другої за значимістю цифри на 127.