Шестнадцатеричные триплеты, такие как #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)