Este é um desafio bastante simples para o código de golfe. Seu programa, com uma string ASCII, deve analisá-la em duas strings, que serão avaliadas. Se a segunda sequência for "posterior" à primeira, ela retornará 1, se for "anterior" à primeira, retornará -1 e, se forem iguais, retornará 0. Para Para esclarecer o que "mais tarde" e "mais cedo" significam, vamos dar uma olhada nos códigos de caracteres ASCII. Você precisa comparar cada caractere da string, tratando cada um deles como dígitos de um número. Mais tarde refere-se a um número maior, ocorrendo após um número menor. As strings serão formatadas com um caractere hífen para separar os dois grupos de entrada.
Veja este exemplo:
7-9como uma entrada deve retornar1.
7converte para código ASCII55e9converte para código ASCII57.Como
57ocorre numericamente depois55,9é posterior a7.
Outro exemplo:
LKzb-LKajcomo uma entrada deve retornar-1As seqüências de código ASCII para isso são
76-75-122-98e76-75-97-106
Este é um desafio de código de golfe e a contagem de bytes é como as entradas serão pontuadas.
Qualquer entrada dos 95 caracteres ASCII imprimíveis é aceita, excluindo espaços e hífens, para separar a entrada. Além disso, não é garantido que as seqüências tenham o mesmo comprimento.
Boa sorte!
EDIT: Para ser mais claro, cada caractere deve ser tratado como um dígito em um número. No exemplo LKzb-LKaj, embora jseja posterior a b, zseja posterior a ae, como é um dígito mais significativo, tem precedência. Uma cadeia fornecida sempre terá no mínimo 3 caracteres, eliminando cadeias vazias do escopo desse problema.
EDIT: Aqui estão mais alguns casos de teste, para sua ajuda:
A-9->-111-Z->-13h~J*-3h~J*->0Xv-Y0->1
11-Z-> -1não faz sentido, dada a redação atual da pergunta. Z(90) é maior que 1(49) e é a letra mais significativa. Esclareça como as seqüências de caracteres de diferentes comprimentos são comparadas.
11>Zem seus exemplos quando 1<Z. Deve haver algum comportamento indefinido relacionado a cadeias de tamanhos diferentes ou o exemplo está errado.
~em 126, e aumentaria o próximo dígito em um, retornando o dígito inicial para !. Cada aumento no dígito mais significativo equivale a incrementar o segundo dígito mais significativo em 127.