Zick-Zack-Saiten
Geben Sie bei einer gegebenen Zeichenfolge und einer positiven Ganzzahl die Zeichenfolge in einem Zick-Zack-Wellenmuster mit einer Spitzenamplitude und einem Zeichenabstand aus, die der Ganzzahl entsprechen.
Dies ähnelt dieser Frage , schließt jedoch auch den Zeichenabstand ein.
Eingang
Die Eingabe kann aus STDIN gelesen oder als Funktionsargumente verwendet werden. Die Eingabe ist eine Zeichenfolge ohne Zeilenumbrüche und eine positive Ganzzahl.
Ausgabe
Die erwartete Ausgabe ist die Zeichenfolge, die in ein Zick-Zack-Wellenmuster umgewandelt wird - beginnend nach oben - mit dem ersten Zeichen auf der Basislinie. Das Wellenmuster muss eine Amplitude und einen Zeichenabstand haben , die der ganzen Zahl entsprechen.
Beispiele
Eingang
Programming Puzzles & Code Golf
2
Ausgabe
o g s
r g n e e G
P r i P l & d o
a m u z o l
m z C f
Eingang
Programming Puzzles & Code Golf
1
Ausgabe
r a n u e e l
P o r m i g P z l s & C d o f
g m z o G
Dies ist Code Golf - das kürzeste Programm gewinnt.
Antworten:
Javascript (ES6),
133132136134 BytesDefiniert eine anonyme Funktion. Fügen Sie
f=
zum Aufrufen am Anfang hinzu, um die Funktion aufzurufenf
. Dann kann es mit getestet werdenconsole.log(f("Programming Puzzles & Code Golf", 2))
Vielen Dank an @vihan und @ edc65 für die Unterstützung beim Speichern einiger Bytes! :) :)
@kvill: Der Code wurde geändert, um die Anforderungen an den variablen Zeichenabstand in der Spezifikation zu erfüllen. Hab das zuerst nicht bemerkt!
quelle
keys
oderfill
(s,n,o=Array(2*n+1).fill'')=>[...s].map((v,i)=>o=o.map((w,a)=>a-((j=(i+3*n)%(4*n))>2*n?4*n-j:j)?w+" ":w+v))&&o.join''
(füllen und verbinden mit Vorlage Zeichenfolge ohne Klammern)J, 75 Bytes
Hier wird die Funktion verwendet
quelle
Python 2, 151
Hier ist meine Antwort mit Python 2:
Beispielausgabe:
und
quelle