Sur la base d'une liste de nombres et de leurs lettres équivalentes, prenez une chaîne d'entrée, remplacez les caractères de cette chaîne par le nombre / lettre équivalent et sortez le résultat.
liste
- 1 = a
- 2 = b
- 3 = c
- 4 = d
- 5 = e
- 6 = f
- 7 = g
- 8 = h
- 9 = i
- 0 = j
Contribution
thisisastring1124
Production
t89s9s1str9n7aabd
Règles
- Les chiffres sont équivalents aux lettres minuscules uniquement.
- Tout caractère en dehors de la liste sera laissé tel quel.
- La chaîne d'entrée ne doit pas contenir d'espaces.
- Un programme ou une fonction complète est autorisé.
- Puisqu'il s'agit de code-golf, le moins d'octets gagne.
Réponses:
bash, 18 octets
Essayez-le en ligne!
la source
Python 3 ,
7668 octetsEssayez-le en ligne!
la source
Perl 5 , 17 octets
Essayez-le en ligne!
la source
05AB1E ,
139 octetsEssayez-le en ligne!
Explication
la source
Perl 6 ,
4523 octetsEssayez-le en ligne!
Juste une expression régulière de translittération.
la source
TR/1..90a..j/a..j1..90/
tio.run/##K0gtyjH7n1upoJamYKvwvzokSN9QT8/SIFFPL0sfRIB5@rX/…Retina 0.8.2 , 12 octets
Essayez-le en ligne! Explication:
Effectuez une translittération.
La liste des sources est les lettres
a-j
, puis0
, puis les chiffres9-1
.La liste de destination est la liste source inversée, c'est-à-dire les chiffres
1-9
, puis0
, puis les lettresj-a
.la source
J , 38 octets
Essayez-le en ligne!
la source
Python 2 ,
8278 octetsEssayez-le en ligne!
-4 avec merci à @ovs
la source
JavaScript (ES6), 66 octets
Essayez-le en ligne!
la source
R , 40 octets
Essayez-le en ligne!
Étonnamment, R est décent à ce genre de défi de chaîne , car il a une
tr
fonction similaire à celle de la réponse Bash . Je ne sais pas pourquoi il existe, mais j'en suis reconnaissant!la source
MS-SQL, 71 octets
La nouvelle fonction SQL 2017
TRANSLATE
effectue un remplacement de caractère individuel, elle est donc parfaitement adaptée à cette fin. Voir ma réponse similaire dans un défi précédent .Entrée se fait par une table pré-existante t avec la colonne varchar v , selon nos règles IO . Pour remplacer uniquement les lettres minuscules, le tableau doit être créé à l'aide d'un classement sensible à la casse :
la source
Gelée , 16 octets
Essayez-le en ligne!
la source
Pyth , 13 octets
Essayez-le ici!
Explication
la source
Haskell ,
8066 octetsEssayez-le en ligne!
la source
REXX, 57 octets
la source
C (gcc) ,
8172 octetsMerci à Giacomo Garabello pour les suggestions.
Essayez-le en ligne!
la source
putchar(...)
->*s=...
et 4 autres en les remplaçant*s-48U<11
par*s<59
Essayez-le en ligne!*s<59
casse si des caractères comme$
sont en entrée, c'est pourquoi je l'ai fait*s-48U
([0..47] devient [-48 ..- 1], ce qui devient une grande valeur non signée.) Comme la question n'a pas précisé si non -alnums étaient valides, je suis allé avec l'interprétation plus conservatrice.Powershell, 94 octets
Script de test:
Explication
$args
- chaînes d'arguments$args|% t*y
- se développe à l'|ForEach-Object -Method ToCharArray
équivalent de"$args".ToCharArray()
($s='1a2b3c4d5e6f7g8h9i0j').IndexOf($_)
- trouve un caractère dans la chaîne, renvoie une position ou -1 s'il n'est pas trouvé. Soit $ s stocke la chaîne qui contient un caractère apparié sur les positions voisines qui diffèrent par le dernier bit: 0 + 1, 2 + 3, 4 + 5 ....if(1+($p=...))
- si le poste a été trouvé$p-bxor1
- position bit xor 1la source
-bxor1
.R , 107 octets
Essayez-le en ligne!
Première tentative, définitivement améliorable ...
la source
chartr
est votre ami ici, je pense.Rouille , 96 octets
Essayez-le en ligne!
Pas sûr pour Unicode, s'il l'était, il serait encore plus long.
la source
K4 , 38 octets
Solution:
Explication:
Recherchez chaque caractère de la liste
"abcdefghij1234567890"
, puis indexez-le dans la liste"1234567890abcdefghijX"
où seX
trouve le caractère d'origine.Besoin de trouver un moyen plus court de construire les cordes ...
Prime:
Une autre solution pour 38 octets :
la source
Yabasic , 135 octets
Prend des entrées de la console et des sorties vers la console.
Essayez-le en ligne!
la source
Japt ,
4442 octetsEssayez-le en ligne!
la source
sed, 44 octets
Un peu ennuyeux, je l'avoue.
Essai:
la source