Sua tarefa é decifrar uma string não vazia que consiste em caracteres ASCII imprimíveis no intervalo [32..126] .
Lendo o caractere de string por caractere:
- sempre que encontrar uma letra em minúscula, associe-a à próxima letra em maiúscula, começando com 'A'
- sempre que encontrar uma letra maiúscula, substitua-a pela letra minúscula à qual está associado
- outros caracteres não requerem processamento especial e permanecem inalterados
Exemplo
Para a sequência de entrada "endlAsEBAEE":
- Associado
eaA,naB,daCelparaD - Substituir
Apore - Associado
saE - Substitua
EBAEEporsness
A saída final é "endlessness".
Esclarecimentos e regras
- A sequência de entrada é garantida para conter cada letra minúscula no máximo uma vez. Todas as instâncias adicionais serão substituídas pela letra maiúscula correspondente.
- A sequência de entrada é garantida como válida. (Você não encontrará uma letra maiúscula que ainda não esteja associada a uma letra minúscula.)
- Uma vez que uma letra maiúscula tenha sido associada a uma letra minúscula, ela pode ou não ser usada posteriormente na string. Por exemplo,
CeDnão são usados no exemplo acima. - Isso é código-golfe , então a resposta mais curta em bytes vence!
Casos de teste
Entradas:
abcd
honk! ABCD!
abrAcAdABCA
endlAsEBAEE
helCo wDrCd!
dermatoglyphics
progBamFinD AuzJles & cCdL DCKf
sphinx of black quKrtz, jOdge my vGw. K NODLM IPGZE HGF SOWBA GYVP QCV JKRX TGU.
petBr AiABD AEckBd a ABFG of AEFGlBH ABAABDs. hJw mIny AEFGLBH ABAABDM HEH ABCBD AEABD AEFG?
Respostas:
abcd
honk! honk!
abracadabra
endlessness
hello world!
dermatoglyphics
programming puzzles & code golf
sphinx of black quartz, judge my vow. a quick brown fox jumps over the lazy dog.
peter piper picked a peck of pickled peppers. how many pickled peppers did peter piper pick?