El escenario
Dada una entrada de letras minúsculas y espacios ASCII, dibuje una espiral de caracteres que rastree la entrada original de caracteres excluyendo espacios.
Las normas
1) Los caracteres deben girar en sentido contrario a las agujas del reloj hacia la izquierda de manera externa. Si no es posible girar a la izquierda, muévase derecho.
Given: abcdefg
Output:
g
baf
cde
2) Los caracteres pueden ir en espiral hacia los caracteres anteriores siempre que no se viole la regla # 1. Además, si ese personaje está en espiral, entonces ese personaje está en mayúscula. Una vez que un personaje está en mayúscula, permanecerá en mayúscula independientemente de la cantidad de veces que se reutilice.
Given: apples appeal
Output:
PAs
PLe
ea
abcdefghab
?Respuestas:
JavaScript,
225221212 bytes-9 bytes gracias a Conor O'Brien
Tenga en cuenta que sus casos de texto entran en conflicto entre sí. Su primer caso de prueba comienza en el medio de la espiral. Su segundo caso de prueba comienza en la mitad superior de la espiral. Fui con tu primer caso de prueba, porque fue el primero que vi. No ha editado su pregunta en más de un año, así que disculpe la presunción.
Primer caso de prueba:
Segundo caso de prueba:
Sin más adiós, aquí está el código de golf. Estoy 100% seguro de que si la comunidad lo procesa, esto podría reducirse significativamente. Esto devuelve una matriz multilínea.
Fragmento de prettificación (imprime una cadena multilínea en la consola). Tenga en cuenta lo diferente en mi caso de prueba n. ° 2 y en el caso de prueba de OP n. ° 2 (consulte más arriba si aún no lo ha hecho):
(si alguien con más experiencia con fragmentos quiere corregir esto en la entrada HTML, siéntase libre de editar esto, necesito irme a la cama).
Sin Golf y Explicación
fuente
a.split("")
es equivalente a[...a]
;s=>{...;return a;}
es equivalente as=>eval("...;a")
(y;
es opcional en la versión menos golfizada); todos los puntos y coma seguido de un}
son opcionalesapples appeal
? Estoy viendoppa
eas
aLe
, lo que definitivamente no es correcto porque no hay all
lado delp
s.eppa
apas
lple
s
.