Dada una serie de os que representan puntos, conéctelos vertical u horizontalmente
Ejemplos
Entrada:
o o
o
Salida:
o---o
|
|
o
Entrada:
o o o
o
Salida:
o---o----o
|
o
Especificaciones
Si desea que la entrada se rellene con espacios para formar un rectángulo, especifique esto en su respuesta
Solo habrá
oespacios y líneas nuevas en la entrada- Siempre habrá un par de puntos para conectar
- No
ohabrá dos s directamente adyacentes - Los puntos deben estar conectados con
|y-, para conexiones verticales y horizontales respectivamente - No se superpondrán las conexiones de puntos

Respuestas:
Japt,
3329 bytes¡Pruébalo en línea!
Cómo funciona
fuente
Rubí,
137133bytesEsto es absolutamente horrible. Sigo intentando jugar al golf.
Ingrese como un rectángulo acolchado, por favor.
Nueva línea para "legibilidad":
fuente
\blugar de(?=o)?Retina , 80 bytes
La entrada debe ser acolchada.
Pruébalo en línea!
Explicación
La primera etapa es bastante simple, simplemente convierte todos los espacios en guiones que se encuentran entre dos
os en la misma línea.La segunda etapa abarca el
|s. Esto es un poco más complicado y requiere grupos de equilibrio . La mirada atráscomprueba que haya una
oanterior en la misma columna. Recuerde que las retrospectivas deben leerse de derecha a izquierda.(.)*almacena la posición horizontal de la coincidencia,\D*¶verifica los saltos a cualquier carácter en las líneas anteriores,ocoincide literalmente. Luego(?(1)!)^(?<-1>.)*asegura que la posición horizontal de esoosea la misma.El lookahead
Hace exactamente lo mismo en la dirección opuesta.
fuente