Étant donné une chaîne et un tableau en entrée, votre tâche consiste à sortir le texte que la chaîne d'entrée imprimera lorsqu'elle sera tapée sur un clavier mobile typique. Dans un clavier mobile, une lettre est saisie en appuyant sur un bouton n fois, où n est la position de la lettre sur l'étiquette du bouton. Donc, 22
devrait sortir b
.
Règles
Le tableau d'aide contiendra la carte des personnages (
[" ",".,!","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"]
). Ce sera donné pour vous faire économiser quelques octets.Le
#
symbole fera basculer la casse. Le cas initial sera inférieur. Donc2#3
sortie devraitaD
.Le
0
ajoutera un espace. Donc,202
devrait sortira a
.Il y aura un espace (
) dans la chaîne d'entrée pour commencer une nouvelle lettre qui se trouve sur le même bouton numérique. Par exemple pour taper
aa
, la chaîne d'entrée sera2 2
.Il est garanti que la chaîne d'entrée sera toujours un code de clavier valide.
Contribution
Vous pouvez saisir des informations de la manière que votre langue prend en charge.
Production
Vous pouvez sortir le résultat comme vous le souhaitez. La fonction return
est également autorisée.
Cas de test
#4440555#666888330#999#66688111 -> "I Love You!"
#6#33777 7779990#222#4477744477778627777111 -> "Merry Christmas!"
#44#27 79990#66#3390#999#332777111 -> "Happy New Year!"
C'est le code-golf , donc le code le plus court en octets gagne!
year
dans le dernier cas de test est erronée.##
un espace double ou doit-il être géré?Réponses:
Pyth - 31 octets
Le nouvel élément clé m'a coûté trop cher.
Suite de tests .
la source
JavaScript,
10599 octetsla source
l
) puis en utilisantc?l:l.toUpperCase()
.Perl 6 ,
11997 octetssolution basée sur la carte 119 octets
Essayez-le
solution basée sur la substitution 97 octets
Essayez-le
Étendu:
la source
JavaScript ES6 - 124 octets
Golfé:
Non golfé:
la source
JavaScript, 301 octets
Je sais que c'est très long, mais c'est du mieux que je peux.
la source
V , 60 octets
(Il y a un non imprimable
½<Ctrl+r>a
)Essayez-le en ligne!
Explique
la source