Trójki heksadecymalne, takie jak #ffffff
(biały) lub #3764ef
(niebieskawy), są często używane do oznaczenia kolorów RGB. Składają się one z #
sześciu cyfr szesnastkowych (0-f) lub czasami trzech cyfr, w których rzeczywisty kolor uzyskuje się przez podwojenie każdej cyfry. Na przykład #fff
jest #ffffff
i #1a8
jest #11aa88
.
Niestety, że trzycyfrowy skrótem był golfiest internet ma do zaoferowania, aż do teraz .
Napisz program lub funkcję, która przyjmuje ciąg od 1 do 7 znaków:
- Pierwszą postacią zawsze będzie
#
. - Pozostali bohaterowie zawsze będą cyfry szesnastkowe:
0123456789abcdef
.
Dane wejściowe to krótsza forma heksadecyłu (lub pełna forma, jeśli podano 7 znaków). Musisz wyprowadzić pełną szesnastkową szesnastkę, która rozszerza stenografię wejściową na podstawie następujących wzorców:
Input -> Output
# -> #000000 (black)
#U -> #UUUUUU
#UV -> #UVUVUV
#UVW -> #UUVVWW (usual 3-digit shorthand)
#UVWX -> #UXVXWX
#UVWXY -> #UVWXYY
#UVWXYZ -> #UVWXYZ (not shorthand)
Każdy z U
, V
, W
, X
, Y
, i Z
może być dowolny szesnastkowy. Dane wyjściowe mają zawsze 7 znaków.
Na przykład:
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
Notatki
Wejście zawsze zaczyna się od,
#
podobnie jak wyjście.Możesz założyć, że wszystkie litery są małe (
abcdef
) lub wielkie (ABCDEF
), jak wolisz.Litery na wyjściu mogą być w obu przypadkach, jak wolisz. Możesz nawet mieszać przypadki.
Alfa / przezroczystość nie jest tutaj rozpatrywana (chociaż istnieją szesnastkowe wersje kolorów RGBA).
Najkrótszy kod w bajtach wygrywa.
#UVWXY -> #UVWXYY
wpisu, ponieważ pozwala on na reprezentację jednej wartości dla kanału Niebieskiego, ale nie ma podobnego wyrażenia dla Czerwonego i Zielonego (np. Gdybym chciał #889071
, nie mógłbym skrócić, ale #907188
może być ... jak #90718
) innych wszystko działa świetnie.
#UVWX -> #UXVXWX
. To takie niespójne i arbitralne zachowanie, że trudno uwierzyć, że nie ma kilka przeglądarki, która faktycznie obecnie wdrożyć.
#RGBA
i #RRGGBBAA
, więc # 1234 należy czytać jakorgba(17, 34, 51, 0.25)