W CSS kolory można określić za pomocą „szesnastkowej tripletu” - trzy bajtowej (sześciocyfrowej) liczby szesnastkowej, gdzie każdy bajt reprezentuje czerwony, zielony lub niebieski składnik koloru. Na przykład #FF0000
jest całkowicie czerwony i odpowiada rgb(255, 0, 0)
.
Kolory mogą być również reprezentowane przez notację skróconą, która wykorzystuje trzy cyfry szesnastkowe. Stenografia rozwija się do postaci sześciocyfrowej poprzez duplikowanie każdej cyfry. Na przykład #ABC
staje się #AABBCC
.
Ponieważ w skrócie szesnastkowym jest mniej cyfr, można przedstawić mniej kolorów.
Wyzwanie
Napisz program lub funkcję, która pobiera sześciocyfrowy szesnastkowy kod koloru i wyświetla najbliższy trzycyfrowy kod koloru.
Oto przykład:
- Wpisz kod szesnastkowy: # 28a086
- Czerwony składnik
- 0x28 = 40 (dziesiętny)
- 0x22 = 34
- 0x33 = 51
- 0x22 jest bliżej, więc pierwsza cyfra skróconego kodu koloru to 2
- Zielony składnik
- 0xa0 = 160
- 0x99 = 153
- 0xaa = 170
- 0x99 jest bliżej, więc drugą cyfrą jest 9
- Niebieski składnik
- 0x86 = 134
- 0x77 = 119
- 0x88 = 136
- 0x88 jest bliżej, więc trzecia cyfra to 8
- Skrócony kod koloru to # 298 (który rozwija się do # 229988)
Twój program lub funkcja musi przyjmować jako dane wejściowe sześciocyfrowy szesnastkowy kod koloru poprzedzony #
i wypisywać trzycyfrowy kod koloru poprzedzony znakiem #
.
Przykłady
- # FF0000 → # F00
- # 00FF00 → # 0F0
- # D913C4 → # D1C
- # C0DD39 → # BD3
- # 28A086 → # 298
- # C0CF6F → # BC7
Punktacja
To wyzwanie dla golfa, więc wygrywa najkrótsza odpowiedź w twoim języku! Obowiązują standardowe zasady.
#
dodania niczego do wyzwania.