이것은 매우 간단한 코드 골프 도전입니다. 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 자 이상이므로이 문제의 범위에서 빈 문자열이 제거됩니다.
편집 : 다음은 도움이되는 몇 가지 테스트 사례입니다.
A-9
->-1
11-Z
->-1
3h~J*-3h~J*
->0
Xv-Y0
->1
11-Z
-> -1
질문의 현재 단어가 주어지면 의미가 없습니다. Z
(90)은 1
(49) 보다 크며 가장 중요한 문자입니다. 길이가 다른 문자열을 비교하는 방법을 명확히하십시오.
11>Z
귀하의 예에서 왜 혼란 스럽습니까 1<Z
. 길이가 다른 문자열과 관련하여 정의되지 않은 동작이 있거나 예제가 잘못되었습니다.
~
126에서 인쇄 가능한 문자의 장벽까지 늘린 다음 다음 자릿수를 1 씩 늘리고 초기 자릿수를로 되돌 !
립니다. 최상위 유효 숫자가 증가 할 때마다 두 번째 최상위 숫자가 127 씩 증가하는 것과 같습니다.