Шестнадцатеричные триплеты, такие как #ffffff
(белый) или #3764ef
(голубоватый), часто используются для обозначения цветов RGB. Они состоят из #
шести шестнадцатеричных цифр (0-f) или иногда трех цифр, где реальный цвет получается путем удвоения каждой цифры. Например, #fff
есть #ffffff
и #1a8
есть #11aa88
.
К сожалению, эта трехзначная стенография была самой лучшей игрой в гольф, которую Интернет мог предложить до сих пор .
Напишите программу или функцию, которая принимает строку от 1 до 7 символов:
- Первый персонаж всегда будет
#
. - Остальные персонажи всегда будут шестнадцатеричные цифры:
0123456789abcdef
.
Ввод представляет собой сокращенную форму шестнадцатеричного триплета (или полную форму, если дано 7 символов). Вам необходимо вывести полный шестнадцатеричный триплет, который расширяет сокращенную запись на основе этих шаблонов:
Input -> Output
# -> #000000 (black)
#U -> #UUUUUU
#UV -> #UVUVUV
#UVW -> #UUVVWW (usual 3-digit shorthand)
#UVWX -> #UXVXWX
#UVWXY -> #UVWXYY
#UVWXYZ -> #UVWXYZ (not shorthand)
Каждый из U
, V
, W
, X
, Y
, и Z
может быть любой шестнадцатеричной цифрой. На выходе всегда 7 символов.
Например:
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
Примечания
Ввод всегда будет начинаться с, как
#
и вывод.Вы можете предположить, что все вводимые буквы строчные (
abcdef
) или прописные (ABCDEF
), как вы предпочитаете.Буквы на выходе могут быть в любом случае по вашему усмотрению. Вы можете даже смешать дела.
Альфа / прозрачность здесь не рассматривается (хотя существуют шестнадцатеричные версии цветов RGBA).
Самый короткий код в байтах побеждает.
#UVWXY -> #UVWXYY
записью, потому что она допускает однозначное представление для канала Blue, но нет аналогичных выражений для красного и зеленого (например, если бы я хотел, #889071
я не могу сокращать, но #907188
могу быть ... как #90718
) другие все отлично работает
#UVWX -> #UXVXWX
. Это настолько противоречивое и произвольное поведение, что трудно поверить, что на самом деле в настоящее время не существует пары браузеров, которые его реализуют.
#RGBA
и #RRGGBBAA
, поэтому # 1234 следует читать какrgba(17, 34, 51, 0.25)