(Inspirado en un primer borrador del desafío de línea fractal de PhiNotPi ).
Te dan un ancho W > 1
, una altura H > 1
y una cadena que consiste en 2(W+H-2)
caracteres ASCII imprimibles. La tarea es imprimir esta cadena envuelta alrededor de un rectángulo del ancho y alto dados, comenzando en la esquina superior izquierda, en sentido horario. El interior del rectángulo está lleno de espacios. Con suerte, los casos de prueba deberían dejar esto muy claro.
Puede escribir un programa o función, tomando la entrada a través de STDIN (o la alternativa más cercana), argumento de línea de comando o argumento de función, e imprimiendo el resultado en STDOUT (o la alternativa más cercana) o devolviéndolo como una cadena.
No debe haber espacios iniciales o finales (aparte de los que podrían estar en la cadena de entrada). Opcionalmente, puede generar una nueva línea final.
Este es el código de golf, por lo que gana el envío más corto (en bytes).
Casos de prueba
Cada caso de prueba es "String" W H
seguido por la salida esperada.
"Hello, World! "
5 4
Hello
,
!
dlroW
"+--+|||+--+|||"
4 5
+--+
| |
| |
| |
+--+
">v<^"
2 2
>v
^<
"rock beats scissors beats paper beats "
11 10
rock beats
s
s c
t i
a s
e s
b o
r
r s
epap staeb
Note that the following string contains an escaped '"'.
"!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
46 3
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN
~ O
}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQP
Tablas de clasificación
Aquí hay un fragmento de pila para generar una tabla de clasificación regular y una descripción general de los ganadores por idioma.
Para asegurarse de que su respuesta se muestre, comience con un título, usando la siguiente plantilla de Markdown:
# Language Name, N bytes
¿Dónde N
está el tamaño de su envío? Si mejora su puntaje, puede mantener los puntajes antiguos en el título, tachándolos. Por ejemplo:
# Ruby, <s>104</s> <s>101</s> 96 bytes