Su tarea es descifrar una cadena no vacía que consta de caracteres ASCII imprimibles en el rango [32..126] .
Lectura de la cadena de caracteres por carácter:
- cada vez que encuentre una letra en minúscula, asóciela con la siguiente letra en mayúscula, comenzando con 'A'
- cada vez que encuentre una letra en mayúscula, reemplácela con la letra en minúscula con la que está asociada
- otros caracteres no requieren ningún procesamiento especial y simplemente no se modifican
Ejemplo
Para la cadena de entrada "endlAsEBAEE"
:
- Asociado
e
aA
,n
aB
,d
aC
yl
aD
- Reemplazar
A
cone
- Asociado
s
aE
- Reemplazar
EBAEE
consness
El resultado final es "endlessness"
.
Aclaraciones y reglas.
- Se garantiza que la cadena de entrada contenga cada letra minúscula como máximo una vez. Todas las demás instancias serán reemplazadas con la letra mayúscula correspondiente.
- Se garantiza que la cadena de entrada sea válida. (No encontrará una letra mayúscula que aún no esté asociada con una letra minúscula).
- Una vez que se ha asociado una letra mayúscula a una letra minúscula, se puede usar o no más adelante en la cadena. Por ejemplo,
C
yD
no se utilizan en el ejemplo anterior. - Este es el código de golf , por lo que gana la respuesta más corta en bytes.
Casos de prueba
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?
Respuestas:
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?
Respuestas:
Jalea ,
87 bytesPruébalo en línea!
Cómo funciona
fuente
05AB1E , 6 bytes
Código:
Utiliza la codificación 05AB1E . Pruébalo en línea!
fuente
ʒ.l}Aus‡
.JavaScript (ES6), 62 bytes
Cada letra mayúscula se convierte a su valor base 36, menos 10.
Luego hacemos coincidir la letra minúscula que está en ese índice.
Mostrar fragmento de código
fuente
Pyth, 36 bytes
Pruébalo aquí
Explicación
fuente
Stax , 11 bytes
Ejecutar y depurarlo
fuente
R , 79 bytes
Pruébalo en línea!
fuente
scan(,""
para convertirlo en un programa completo en lugar de una función, aparte de eso estoy luchando por encontrar alguna mejora ...Perl 5 con
-p
27 bytesPruébalo en línea!
-2 bytes gracias a @breadbox !
fuente
s///gr
cony///cdr
.Z80Golf , 37 bytes
Pruébalo en línea!
¡z80 hace bastante bien en esto! Aquí hay un desmontaje:
Señalamos tanto HL como BC en el
$ff00
rango condec
, y lo usamosrst $38
como una alternativa corta acall $8000
, pero de lo contrario no hay muchos trucos.fuente
Retina , 25 bytes
Pruébalo en línea! Explicación:
Une letras minúsculas.
Reemplace cada letra con un rango degenerado de sí mismo. (Esto evita que la transliteración posterior lo trate como una clase de caracteres; la barra invertida no se puede usar porque algunas letras minúsculas tienen un significado especial después de una barra invertida).
Liste los rangos degenerados, pero sin separadores de línea y con un precedente
T`L`
.Evalúe el programa de transliteración resultante en la entrada original.
fuente
Python 2 , 78 bytes
Pruébalo en línea!
fuente
Java (JDK 10) , 109 bytes
Pruébalo en línea!
fuente
C (gcc) , 105 bytes
Pruébalo en línea!
fuente
Jalea , 11 bytes
Pruébalo en línea!
fuente
Pyth , 7 bytes
Tenedor de la brillante respuesta Jelly de Dennis
Todos los casos de prueba.
fuente