Les triplets hexagonaux tels que #ffffff
(blanc) ou #3764ef
(bleuâtre) sont souvent utilisés pour désigner les couleurs RVB. Ils consistent en #
suivis de six chiffres hexadécimaux (0-f), ou parfois de trois chiffres où la couleur réelle est obtenue en doublant chaque chiffre. Par exemple, #fff
est #ffffff
et #1a8
est #11aa88
.
Malheureusement, ce raccourci à trois chiffres était le plus risqué qu'Internet pouvait offrir jusqu'à présent .
Ecrivez un programme ou une fonction qui prend une chaîne de 1 à 7 caractères:
- Le premier caractère sera toujours
#
. - Les autres personnages seront toujours des chiffres hexadécimaux:
0123456789abcdef
.
L'entrée est une forme abrégée d'un triplet hexadécimal (ou la forme complète si 7 caractères sont fournis). Vous devez générer un triplet hexagonal complet qui élargit le raccourci d’entrée en fonction de ces modèles:
Input -> Output
# -> #000000 (black)
#U -> #UUUUUU
#UV -> #UVUVUV
#UVW -> #UUVVWW (usual 3-digit shorthand)
#UVWX -> #UXVXWX
#UVWXY -> #UVWXYY
#UVWXYZ -> #UVWXYZ (not shorthand)
Chacun de U
, V
, W
, X
, Y
et Z
peut - être un chiffre hexadécimal. La sortie comporte toujours 7 caractères.
Par exemple:
Input -> Output
# -> #000000
#0 -> #000000
#4 -> #444444
#f -> #ffffff
#a1 -> #a1a1a1
#0f -> #0f0f0f
#99 -> #999999
#1a8 -> #11aa88
#223 -> #222233
#fff -> #ffffff
#1230 -> #102030
#d767 -> #d77767
#bbb5 -> #b5b5b5
#aabbc -> #aabbcc
#00000 -> #000000
#3764e -> #3764ee
#3764ef -> #3764ef
#123456 -> #123456
#f8f8f8 -> #f8f8f8
Remarques
L'entrée commencera toujours par
#
et la sortie aussi.Vous pouvez supposer que toutes les lettres entrées sont en minuscule (
abcdef
) ou en majuscule (ABCDEF
) selon vos préférences.Les lettres dans la sortie peuvent être dans les deux cas comme vous préférez. Vous pouvez même mélanger des cas.
L'alpha / transparence n'est pas traité ici (bien qu'il existe des versions hexagonales des couleurs RGBA).
Le code le plus court en octets gagne.
#UVWXY -> #UVWXYY
entrée car elle permet une représentation à valeur unique pour le canal bleu, mais il n'y a pas d'expression similaire pour le rouge et le vert (par exemple, si je voulais, #889071
je ne peux pas abréger, mais #907188
peut être ... comme #90718
) les autres. tout fonctionne très bien.
#UVWX -> #UXVXWX
. C'est un comportement tellement incohérent et arbitraire qu'il est difficile de croire qu'aucun navigateur ne l' implémente actuellement.
#RGBA
et #RRGGBBAA
, donc # 1234 doit être lu commergba(17, 34, 51, 0.25)