Seu objetivo é escrever um codificador de semáforo de bandeira , que converterá uma determinada frase nos caracteres correspondentes de semáforo de bandeira, de acordo com o sistema de semáforo descrito na Wikipedia .
Suponha que a entrada seja uma única frase fornecida por meio de stdin (ou equivalente). Sua saída deve ser uma série de caracteres de semáforo, com cada linha representando uma palavra da frase. Você só precisa lidar com o alfabeto (AZ) e deve ignorar todos os outros caracteres que não sejam espaços, mas deve poder manipular letras maiúsculas e minúsculas. Sua saída pode conter espaço em branco extra.
Os caracteres do semáforo devem ser exibidos como um quadrado 3x3, com um O
no meio e as posições de bandeira representadas pelos caracteres | - / \
. Cada caractere de semáforo deve ser separado dos caracteres adjacentes por um espaço e cada linha deve ser separada por uma linha em branco. Não se preocupe em agrupar palavras que podem ser muito longas para sua exibição - finja que suas linhas têm um comprimento infinito.
Entrada de amostra:
abcdefg hijklmn opqrstu vwxyz
Saída de amostra:
\ | /
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 amostra:
This is Code Golf.
Saída de amostra:
\| \
O -O O -O
/ / \
\
O -O
/ \
\ \ | /
O -O O O
| | |
\ /
O -O O O-
|\ / |
Como se trata de código-golfe , a solução mais curta vence.
and each row must be separated by a blank line
=> cada palavra significa, não é?