(Zainspirowany wczesnym szkicem wyzwania fraktalnej linii PhiNotPi .)
Otrzymujesz szerokość W > 1, wysokość H > 1i ciąg znaków składający się z 2(W+H-2)drukowalnych znaków ASCII. Zadanie polega na wydrukowaniu tego ciągu owiniętego wokół prostokąta o określonej szerokości i wysokości, zaczynając od lewego górnego rogu, zgodnie z ruchem wskazówek zegara. Wnętrze prostokąta jest wypełnione spacjami. Mamy nadzieję, że przypadki testowe wyjaśnią to bardzo wyraźnie.
Możesz napisać program lub funkcję, pobierając dane wejściowe przez STDIN (lub najbliższą alternatywę), argument wiersza poleceń lub argument funkcji i albo drukując wynik do STDOUT (lub najbliższej alternatywy), albo zwracając go jako ciąg znaków.
Nie może być spacji wiodących ani końcowych (oprócz tych, które mogą znajdować się w ciągu wejściowym). Opcjonalnie możesz wypisać jeden końcowy znak nowej linii.
To jest kod golfowy, więc wygrywa najkrótsze przesłanie (w bajtach).
Przypadki testowe
Po każdym przypadku testowym "String" W Hnastępuje oczekiwany wynik.
"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
Liderów
Oto fragment kodu, który pozwala wygenerować zarówno zwykłą tabelę wyników, jak i przegląd zwycięzców według języka.
Aby upewnić się, że twoja odpowiedź się pojawi, zacznij od nagłówka, korzystając z następującego szablonu Markdown:
# Language Name, N bytes
gdzie Njest rozmiar twojego zgłoszenia. Jeśli poprawić swój wynik, to może zachować stare porachunki w nagłówku, uderzając je przez. Na przykład:
# Ruby, <s>104</s> <s>101</s> 96 bytes