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
e
aA
,n
aB
,d
aC
el
paraD
- Substituir
A
pore
- Associado
s
aE
- Substitua
EBAEE
porsness
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,
C
eD
nã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?