Votre tâche consiste à déchiffrer une chaîne non vide composée de caractères ASCII imprimables dans la plage [32..126] .
Lecture de la chaîne de caractères par caractère:
- chaque fois que vous rencontrez une lettre en minuscule, associez-la à la lettre suivante en majuscule, en commençant par «A»
- chaque fois que vous rencontrez une lettre en majuscule, remplacez-la par la lettre en minuscule à laquelle elle est associée
- les autres caractères ne nécessitent aucun traitement spécial et restent inchangés
Exemple
Pour la chaîne d'entrée "endlAsEBAEE"
:
- Associer
e
àA
,n
àB
,d
àC
etl
àD
- Remplacez
A
pare
- Associer
s
àE
- Remplacez
EBAEE
parsness
La sortie finale est "endlessness"
.
Clarifications et règles
- La chaîne d'entrée est garantie pour contenir chaque lettre minuscule au plus une fois. Toutes les autres instances seront remplacées par la lettre majuscule correspondante.
- La chaîne d'entrée est garantie d'être valide. (Vous ne rencontrerez pas de majuscule qui n'est pas encore associée à une lettre minuscule.)
- Une fois qu'une lettre majuscule a été associée à une lettre minuscule, elle peut ou non être utilisée plus tard dans la chaîne. Par exemple,
C
etD
ne sont pas utilisés dans l'exemple ci-dessus. - C'est le code-golf , donc la réponse la plus courte en octets l'emporte!
Cas de test
Contributions:
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?
Réponses:
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?
Réponses:
Gelée ,
87 octetsEssayez-le en ligne!
Comment ça fonctionne
la source
05AB1E , 6 octets
Code:
Utilise l' encodage 05AB1E . Essayez-le en ligne!
la source
ʒ.l}Aus‡
.JavaScript (ES6), 62 octets
Chaque lettre majuscule est convertie à sa valeur de base 36, moins 10.
Nous faisons ensuite correspondre la lettre minuscule qui se trouve à cet index.
Afficher l'extrait de code
la source
Pyth, 36 octets
Essayez-le ici
Explication
la source
Stax , 11 octets
Exécuter et déboguer
la source
R , 79 octets
Essayez-le en ligne!
la source
scan(,""
pour en faire un programme complet au lieu d'une fonction, à part que j'ai du mal à trouver une amélioration ...Perl 5 avec
-p
, 27 octetsEssayez-le en ligne!
-2 octets grâce à @breadbox !
la source
s///gr
pary///cdr
.Z80Golf , 37 octets
Essayez-le en ligne!
z80 fait assez bien dans ce domaine! Voici un démontage:
Nous indiquons à la fois HL et BC à la
$ff00
plage avecdec
et utilisonsrst $38
comme une courte alternative àcall $8000
, mais sinon il n'y a pas beaucoup de ruse.la source
Rétine , 25 octets
Essayez-le en ligne! Explication:
Faites correspondre les lettres minuscules.
Remplacez chaque lettre par une plage dégénérée d'elle-même. (Cela empêche la translittération ultérieure de la traiter comme une classe de caractères; la barre oblique inverse ne peut pas être utilisée car certaines lettres minuscules ont une signification spéciale après une barre oblique inverse.)
Liste les plages dégénérées, mais sans séparateurs de ligne, et avec un précédent
T`L`
.Évaluez le programme de translittération résultant sur l'entrée d'origine.
la source
Python 2 , 78 octets
Essayez-le en ligne!
la source
Java (JDK 10) , 109 octets
Essayez-le en ligne!
la source
C (gcc) , 105 octets
Essayez-le en ligne!
la source
Gelée , 11 octets
Essayez-le en ligne!
la source
Pyth , 7 octets
Fork de la brillante réponse de Dennis à Jelly
Tous les tests.
la source