Các hệ thống khác nhau có các cách khác nhau để mô tả màu sắc, ngay cả khi tất cả chúng đang nói trong không gian RGBA. Một nhà phát triển front-end quen thuộc với CSS có thể thích hơn #RRGGBBAA
. Nhưng các nhà phát triển Android có thể thích #AARRGGBB
. Khi xử lý định dạng tệp AAS, #AABBGGRR
là cần thiết. Điều đó quá khó hiểu. Có lẽ chúng ta cần một chương trình có thể chuyển đổi giữa các định dạng màu khác nhau.
Đầu vào:
Đầu vào chứa 3 phần:
- Màu được chuyển đổi (ví dụ
#1459AC0F
), một chuỗi bắt đầu bằng dấu sắc nét#
theo sau là 8 chữ số hex. - Định dạng của màu đã cho (ví dụ
#RRGGBBAA
), một chuỗi bắt đầu#
bằng 8 chữ cái thuộc 4 nhóm khác nhau và mỗi nhóm là một trongRR
/GG
/BB
/AA
. - Các định dạng để chuyển đổi sang.
Đầu ra:
- Xuất màu ở định dạng được chuyển đổi
Các trường hợp thử nghiệm:
Color, OriginalFormat, TargetFormat -> Result
#12345678, #RRGGBBAA, #AARRGGBB -> #78123456
#1A2B3C4D, #RRGGBBAA, #AABBGGRR -> #4D3C2B1A
#DEADBEEF, #AARRGGBB, #GGBBAARR -> #BEEFDEAD
Đầu vào / đầu ra là trường hợp không nhạy cảm. Bạn có thể nhập / xuất theo bất kỳ cách nào được chấp nhận.
Quy tắc:
Đây là mã golf, mã ngắn nhất (tính bằng byte) của mỗi ngôn ngữ giành chiến thắng
AARRGGBB
khách quan là định dạng màu tốt nhất. Nếu một cái gì đó mong đợi 24 bitRRGGBB
và bạn cung cấp cho nó 32 bitAARRGGBB
thay vào đó, nó chỉ có thể bỏ qua byte trên và vẫn hoạt động.