Triple triplet seperti #ffffff
(putih) atau #3764ef
(kebiru-biruan) sering digunakan untuk menunjukkan warna RGB. Mereka terdiri dari #
diikuti oleh enam digit heksadesimal (0-f), atau kadang-kadang tiga digit di mana warna asli diperoleh dengan menggandakan setiap digit. Sebagai contoh, #fff
adalah #ffffff
dan #1a8
sekarang #11aa88
.
Sayangnya, steno tiga digit itu adalah golf yang paling banyak ditawarkan di internet, sampai sekarang .
Tulis program atau fungsi yang mengambil string 1 hingga 7 karakter:
- Karakter pertama akan selalu seperti itu
#
. - Karakter lain akan selalu digit heksadesimal:
0123456789abcdef
.
Input adalah bentuk singkatan dari hex triplet (atau bentuk lengkap jika 7 karakter diberikan). Anda perlu mengeluarkan hex triplet penuh yang memperluas singkatan input berdasarkan pola-pola ini:
Input -> Output
# -> #000000 (black)
#U -> #UUUUUU
#UV -> #UVUVUV
#UVW -> #UUVVWW (usual 3-digit shorthand)
#UVWX -> #UXVXWX
#UVWXY -> #UVWXYY
#UVWXYZ -> #UVWXYZ (not shorthand)
Masing-masing U
, V
, W
, X
, Y
, dan Z
mungkin setiap heksadesimal digit. Output selalu 7 karakter.
Sebagai contoh:
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
Catatan
Input akan selalu dimulai dengan
#
demikian juga output.Anda dapat menganggap semua huruf input adalah huruf kecil (
abcdef
) atau huruf besar (ABCDEF
) seperti yang Anda inginkan.Huruf dalam output mungkin dalam kedua kasus sesuai keinginan Anda. Anda bahkan dapat mencampur case.
Alpha / transparansi tidak dibahas di sini (meskipun ada versi hex warna RGBA).
Kode terpendek dalam byte menang.
#UVWXY -> #UVWXYY
entri karena memungkinkan untuk representasi nilai tunggal untuk saluran Biru, tetapi tidak ada ekspresi yang sama untuk Merah dan Hijau (misalnya jika saya ingin #889071
saya tidak dapat menyingkat, tetapi #907188
dapat ... seperti #90718
) yang lain semua bekerja dengan baik.
#UVWX -> #UXVXWX
. Ini adalah perilaku yang tidak konsisten dan sewenang-wenang sehingga sulit untuk percaya bahwa tidak ada beberapa browser yang benar - benar mengimplementasikannya.
#RGBA
dan #RRGGBBAA
, jadi # 1234 harus dibaca sebagairgba(17, 34, 51, 0.25)