Hexadezimaltripel wie #ffffff
(weiß) oder #3764ef
(bläulich) werden häufig zur Bezeichnung von RGB-Farben verwendet. Sie bestehen aus #
sechs hexadezimalen Ziffern (0-f) oder manchmal drei Ziffern, wobei die echte Farbe durch Verdoppeln jeder Ziffer erhalten wird. Zum Beispiel #fff
ist #ffffff
und #1a8
ist #11aa88
.
Leider war die dreistellige Kurzschreibweise die golfiest das Internet zu bieten hatte, bis jetzt .
Schreiben Sie ein Programm oder eine Funktion mit einer Zeichenfolge von 1 bis 7 Zeichen:
- Das erste Zeichen wird immer sein
#
. - Die anderen Zeichen werden immer hexadezimale Ziffern sein:
0123456789abcdef
.
Die Eingabe ist eine Kurzform eines Hex-Tripletts (oder die vollständige Form, wenn 7 Zeichen angegeben sind). Sie müssen ein vollständiges Hex-Triplet ausgeben, das die Eingabekurzform basierend auf den folgenden Mustern erweitert:
Input -> Output
# -> #000000 (black)
#U -> #UUUUUU
#UV -> #UVUVUV
#UVW -> #UUVVWW (usual 3-digit shorthand)
#UVWX -> #UXVXWX
#UVWXY -> #UVWXYY
#UVWXYZ -> #UVWXYZ (not shorthand)
Jede U
, V
, W
, X
, Y
, und Z
kann jede hexadezimale Ziffer sein. Die Ausgabe ist immer 7 Zeichen.
Zum Beispiel:
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
Anmerkungen
Die Eingabe beginnt immer mit
#
und muss auch die Ausgabe sein.Sie können davon ausgehen, dass alle eingegebenen Buchstaben Kleinbuchstaben (
abcdef
) oder Großbuchstaben (ABCDEF
) sind.Die Buchstaben in der Ausgabe können in beiden Fällen beliebig sein. Sie können sogar Fälle mischen.
Alpha / Transparenz wird hier nicht behandelt (obwohl es hexadezimale Versionen von RGBA-Farben gibt).
Der kürzeste Code in Bytes gewinnt.
#UVWXY -> #UVWXYY
Eintrag nicht zufrieden, da er eine Einzelwertdarstellung für den blauen Kanal zulässt, aber es gibt keinen ähnlichen Ausdruck für Rot und Grün (z. B. wenn ich wollte, #889071
kann ich nicht abkürzen, #907188
kann aber ... wie #90718
die anderen sein) Alle arbeiten großartig.
#UVWX -> #UXVXWX
. Es ist ein so inkonsistentes und willkürliches Verhalten, dass es kaum zu glauben gibt, dass es derzeit nicht einige Browser gibt, die es tatsächlich implementieren.
#RGBA
und #RRGGBBAA
, so dass # 1234 alsrgba(17, 34, 51, 0.25)