En el pasado, los marcadores automáticos usaban tarjetas perforadas con una columna para cada dígito del número que se marcaría. Las columnas tenían siete filas. Las primeras tres filas representaban los números (1,2,3), (4,5,6) y (7,8,9) respectivamente. Las últimas tres filas giraron esta disposición 90 °: (1,4,7), (2,5,8) y (3,6,9). La fila central se usó para 0. Cualquier dígito 1-9 tendría dos agujeros perforados: uno en las primeras tres filas y otro en las tres filas inferiores. Zero solo tendría la fila del medio perforada. .
Visualicemos la columna perforada para el número 6 ( está sin perforar, x
está perforada, la guía de la izquierda es solo para ilustrar la codificación):
123 .
456 x
789 .
0 .
147 .
258 .
369 x
Buscamos qué fila (s) contienen el número que intentamos marcar. Para 6, esta es la segunda fila y la novena fila. Estas dos filas están perforadas, las cinco filas restantes están sin perforar. Aquí están los patrones perforados para todos los dígitos 0-9:
0 1 2 3 4 5 6 7 8 9
123 . x x x . . . . . .
456 . . . . x x x . . .
789 . . . . . . . x x x
0 x . . . . . . . . .
147 . x . . x . . x . .
258 . . x . . x . . x .
369 . . . x . . x . . x
Su objetivo es (escribir un programa o función para) perforar estas tarjetas para mí.
Entrada: un número, tomado en cualquier formato razonable (cadena, número entero, lista de números enteros, etc.), que no exceda 9999999999999.
Salida: la cuadrícula de columnas perforadas correspondientes a la entrada del número. No necesita los encabezados o el espacio adicional que se muestra arriba, solo las columnas perforadas. Las nuevas líneas iniciales / finales están bien, al igual que el espacio en blanco entre filas / columnas siempre que sea coherente . Hablando de eso, siempre que sean consistentes, puede usar cualquier carácter (sin espacios en blanco) para perforar, y cualquier otro carácter para no perforar (aunque debería ser obvio, especifique qué caracteres está usando).
Este es el código de golf, por lo que gana el código más corto. Las lagunas estándar no están permitidas.
Casos de prueba (todo uso .
para no perforado, x
para perforado):
In: 911
Out: .xx
...
x..
...
.xx
...
x..
In: 8675309
Out: ....x..
.x.x...
x.x...x
.....x.
..x....
x..x...
.x..x.x
In: 5553226
Out: ...xxx.
xxx...x
.......
.......
.......
xxx.xx.
...x..x