(Inspiriert von einem frühen Entwurf der fraktalen Linienherausforderung von PhiNotPi .)
Sie erhalten eine Breite W > 1
, eine Höhe H > 1
und eine Zeichenfolge, die aus 2(W+H-2)
druckbaren ASCII-Zeichen besteht. Die Aufgabe besteht darin, diese Zeichenfolge, beginnend in der oberen linken Ecke, im Uhrzeigersinn um ein Rechteck mit der angegebenen Breite und Höhe zu drucken. Die Innenseite des Rechtecks ist mit Leerzeichen gefüllt. Die Testfälle sollten dies hoffentlich sehr deutlich machen.
Sie können ein Programm oder eine Funktion schreiben, Eingaben über STDIN (oder die nächstgelegene Alternative), ein Befehlszeilenargument oder ein Funktionsargument vornehmen und das Ergebnis entweder an STDOUT (oder die nächstgelegene Alternative) ausgeben oder als Zeichenfolge zurückgeben.
Es dürfen keine führenden oder nachfolgenden Leerzeichen (außer denjenigen, die sich möglicherweise in der Eingabezeichenfolge befinden) vorhanden sein. Optional können Sie eine einzelne nachgestellte Newline ausgeben.
Dies ist Codegolf, daher gewinnt die kürzeste Übermittlung (in Bytes).
Testfälle
Auf jeden Testfall "String" W H
folgt die erwartete Ausgabe.
"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
Bestenlisten
Hier ist ein Stapel Snippet sowohl eine regelmäßige Rangliste und einen Überblick über die Gewinner von Sprache zu erzeugen.
Um sicherzustellen, dass Ihre Antwort angezeigt wird, beginnen Sie Ihre Antwort mit einer Überschrift. Verwenden Sie dazu die folgende Markdown-Vorlage:
# Language Name, N bytes
Wo N
ist die Größe Ihres Beitrags? Wenn Sie Ihren Score zu verbessern, Sie können alte Rechnungen in der Überschrift halten, indem man sich durch das Anschlagen. Zum Beispiel:
# Ruby, <s>104</s> <s>101</s> 96 bytes