¡Gracias a @KritixiLithos por ayudarme con este desafío!
V es un lenguaje de programación que escribí para poder usar y extender vim para desafíos de código de golf. ¡El primer compromiso fue el 3 de marzo de 2016, lo que significa que hoy V cumple un año! Woo-hoo
Durante el primer año de existencia de V, hubo 176 confirmaciones de cuatro colaboradores diferentes, 140 respuestas de 12 usuarios diferentes y demasiados operadores duplicados rotos para contar . Tiene un intérprete en línea , generosamente alojado por @Dennis, que se ha ejecutado casi 8,000 veces desde diciembre .
¡Tengamos un desafío para celebrar el cumpleaños de V! Dado que la mayoría de las funciones en V están diseñadas con la manipulación de cuerdas y el arte ascii en mente, parece natural que cualquier desafío que celebre V se deba al arte ascii. Por lo tanto, su desafío para hoy es tomar una palabra como entrada y remodelar esa palabra en forma de V. Por ejemplo, la entrada "Hola" debería dar la siguiente V:
Hello olleH
Hello olleH
Hello olleH
Hello olleH
Hello olleH
HellolleH
HellleH
HeleH
HeH
H
Aquí hay algunos detalles sobre cómo debería verse su V. Si la cadena de entrada tiene una longitud de n caracteres, la V debe tener n*2
líneas altas. La primera línea debe consistir en:
<input string><(n*2) - 1 spaces><input string reversed>
En cada nueva línea, se agrega un espacio al principio, y los dos lados de la cadena se mueven uno hacia el otro, eliminando los caracteres superpuestos. Hasta la última línea, que es solo el primer carácter de entrada. El espacio en blanco al final de cada línea es aceptable, y también se permite una nueva línea al final.
Puede suponer que la entrada siempre será ASCII imprimible sin ningún espacio en blanco, y puede tomar la entrada y la salida en cualquier método razonable. Aquí hay algunas entradas de muestra más:
Happy:
Happy yppaH
Happy yppaH
Happy yppaH
Happy yppaH
Happy yppaH
HappyppaH
HapppaH
HapaH
HaH
H
Birthday:
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
Birthday yadhtriB
BirthdayadhtriB
BirthdadhtriB
BirthdhtriB
BirthtriB
BirtriB
BiriB
BiB
B
V!:
V! !V
V! !V
V!V
V
~:
~ ~
~
Por supuesto, dado que esto es código golf , las lagunas estándar están prohibidas y su objetivo es escribir el programa más corto posible para completar esta tarea. ¡Feliz golf!
Por lo que vale, tengo un punto débil para las respuestas de vim, así que puntos de bonificación imaginarios por usar vim o V, aunque cualquier lenguaje es aceptable. :)