Su objetivo es escribir un codificador de semáforo de bandera , que convertirá una oración dada en los caracteres de semáforo de bandera correspondientes, de acuerdo con el sistema de semáforo descrito en Wikipedia .
Suponga que la entrada es una oración única proporcionada a través de stdin (o equivalente). Su salida debe ser una serie de caracteres de semáforo, con cada fila representando una palabra de la oración. Solo necesita tratar con el alfabeto (AZ) y debe ignorar todos los demás caracteres que no sean espacios, pero debe poder manejar tanto mayúsculas como minúsculas. Su salida puede contener espacios en blanco adicionales.
Los caracteres del semáforo deben mostrarse como un cuadrado de 3x3, con una posición Oen el medio y la bandera representada por los caracteres | - / \. Cada carácter de semáforo debe estar separado de los caracteres adyacentes por un espacio, y cada fila debe estar separada por una línea en blanco. No se preocupe por ajustar las palabras que pueden ser demasiado largas para su pantalla; pretenda que sus líneas tienen una longitud infinita.
Entrada de muestra:
abcdefg hijklmn opqrstu vwxyz
Salida de muestra:
\ | /
O -O O O O O- O
/| | | | | | |\
\ | | /
-O O O- O O O- O
/ / / / / / \
\ | / \| \ /
-O -O -O -O- -O O O
\
| / / \
O O- O O- O-
\ \ \
Entrada de muestra:
This is Code Golf.
Salida de muestra:
\| \
O -O O -O
/ / \
\
O -O
/ \
\ \ | /
O -O O O
| | |
\ /
O -O O O-
|\ / |
Como se trata de código de golf , gana la solución más corta.
and each row must be separated by a blank line=> cada palabra significa, ¿no?