Đây là một thử thách golf mã khá đơn giản. Chương trình của bạn, được cung cấp một chuỗi ASCII, là phân tích chuỗi đó thành hai chuỗi mà nó sẽ đánh giá. Nếu chuỗi thứ hai "muộn" hơn chuỗi thứ nhất, nó sẽ trả về 1, nếu nó "sớm hơn" chuỗi thứ nhất, nó sẽ trả về -1 và nếu chúng giống nhau, nó sẽ trả về 0. làm rõ nghĩa "sau" và "sớm hơn" nghĩa là gì, hãy xem mã ký tự ASCII. Bạn cần so sánh từng ký tự của chuỗi, coi mỗi ký tự là chữ số của một số. Sau này đề cập đến một số lớn hơn, xảy ra sau một số nhỏ hơn. Các chuỗi sẽ được định dạng bằng một ký tự gạch nối để tách hai nhóm đầu vào.
Hãy xem ví dụ này:
7-9
như một đầu vào sẽ trở lại1
.
7
chuyển đổi thành mã ASCII55
và9
chuyển đổi thành mã ASCII57
.Như
57
xảy ra số sau55
,9
muộn hơn7
.
Một vi dụ khac:
LKzb-LKaj
như một đầu vào sẽ trở lại-1
Các chuỗi mã ASCII cho điều này là
76-75-122-98
và76-75-97-106
Đây là một thử thách golf mã và số byte là cách các mục sẽ được ghi.
Bất kỳ đầu vào nào từ 95 ký tự ASCII có thể in được đều được chấp nhận, ngoại trừ khoảng trắng và dấu gạch nối cho bất cứ thứ gì ngoại trừ tách đầu vào. Ngoài ra, các chuỗi không được đảm bảo có cùng độ dài.
Chúc may mắn!
EDIT: Để rõ ràng hơn, mỗi ký tự sẽ được coi như một chữ số trong một số. Trong ví dụ LKzb-LKaj
, mặc dù j
muộn hơn b
, z
muộn hơn a
và vì nó là một chữ số có ý nghĩa hơn, nên nó được ưu tiên. Một chuỗi được cung cấp sẽ luôn có tối thiểu 3 ký tự, loại bỏ các chuỗi trống khỏi phạm vi của vấn đề này.
EDIT: Dưới đây là một số trường hợp thử nghiệm khác, để được giúp đỡ của bạn:
A-9
->-1
11-Z
->-1
3h~J*-3h~J*
->0
Xv-Y0
->1
11-Z
-> -1
không có ý nghĩa cho từ ngữ hiện tại của câu hỏi. Z
(90) lớn hơn 1
(49) và là chữ cái có ý nghĩa nhất. Hãy làm rõ cách so sánh các chuỗi có độ dài khác nhau.
11>Z
trong ví dụ của bạn là khi nào 1<Z
. Phải có một số hành vi không xác định để thực hiện với các chuỗi có độ dài khác nhau hoặc ví dụ là sai.
~
ở mức 126, sau đó sẽ tăng chữ số tiếp theo lên một, trả lại chữ số ban đầu !
. Mỗi mức tăng của chữ số có nghĩa nhất tương đương với tăng chữ số có ý nghĩa thứ hai lên 127.