Reconocimiento de caracteres — ¿Qué hora es?
Como programador en un laboratorio forense, te han pedido que escribas una función para decodificar una imagen de mapa de bits de un reloj digital y determinar qué hora era cuando se creó la imagen. La imagen de mapa de bits se ha convertido en una cadena de dígitos binarios 0 o 1, donde 0 representa un píxel de fondo blanco y 1 representa un píxel negro. Debes convertir esta cadena binaria en una hora, expresada en horas y minutos, con el formato hh:mm (p. ej., 09:47).
La esfera del reloj muestra la hora en negro sobre un fondo blanco, donde cada carácter tiene tres celdas de ancho y cinco celdas de profundidad. Observa que hay un espacio entre los números, representado por una columna de celdas vacías:



Cada imagen tiene 17 bits de ancho por 5 bits de profundidad. Cada fila se codifica como una cadena de 17 caracteres de 1 y 0, y luego las cinco filas se concatenan en una cadena de 85 caracteres que se pasa a tu función. Por ejemplo, la imagen anterior se codifica así:
row 1 = "11100100001110111"
row 2 = "10101100100010100"
row 3 = "10100100001110111"
row 4 = "10100100100010001"
row 5 = "11101110001110111"
bitmap -> "1110010000111011110101100100010100101001000011101111010010010001000111101110001110111"Si examinas detenidamente los mapas de las filas anteriores, deberías poder ver los dígitos del reloj en el patrón de 1. Las primeras tres columnas muestran el número 0; a continuación hay una columna compuesta completamente por 0 que representa un espacio entre los números; después vienen otras tres columnas que representan el número 1, luego tres columnas que representan el carácter :, después tres columnas que representan 3, una columna de ceros que representa un espacio y, por último, tres columnas que representan el número 5. La hora resultante es 01:35.
Ejemplo
whats_the_time("1110010000111011110101100100010100101001000011101111010010010001000111101110001110111") ➞ "01:35"Notas
No hay errores en la codificación, así que no necesitas comprobar si hay coincidencias aproximadas.