Aufgabe
Ihre Aufgabe ist es, ein ganzes Programm zu schreiben, das die angegebenen Eingaben an einem Block mit der angegebenen Größe ausrichtet.
Eingang:
40
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Ausgabe:
Lorem ipsum dolor sit amet, consectetur
adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris
nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit
in voluptate velit esse cillum dolore eu
fugiat nulla pariatur. Excepteur sint
occaecat cupidatat non proident, sunt in
culpa qui officia deserunt mollit anim
id est laborum.
<-- note the linebreak
Eingabedetails
- Sie müssen das gesamte ausführbare / interpretierbare Programm schreiben.
- Sie können annehmen, dass die Eingabe nur druckbare ASCII-Zeichen und keine Registerkarte enthält
\t
. - Die Eingabe kann Zeilenumbrüche enthalten. Wenn es so ist, sie als gegeben sind
\n
,\r
oder\r\n
je nachdem , was Sie erwarten. Sie sind jedoch während der gesamten Eingabe vereint. - Die Eingabe kann in STDIN oder als Befehlszeilenargumente erfolgen. Sie können beide verwenden, wenn es Ihren Anforderungen entspricht (z. B. Blockgröße aus Befehlsargumenten lesen und als stdin eingeben). Sie dürfen jedoch keinen Teil der Eingabe in Ihr Programm fest codieren.
- Sie können annehmen, dass die Blockgröße als gültige positive (
> 0
) Zahl angegeben wird. - Zeilenumbrüche in der Eingabe werden wie Leerzeichen behandelt (also als Worttrennzeichen).
- Wenn die Eingabe mehrere gleichzeitige Leerzeichen enthält, werden sie als eines behandelt.
Ausgabedetails
- Die Ausgabe muss in einen Block mit einer bestimmten Größe formatiert werden. Die Formatierung erfolgt durch Hinzufügen von Leerzeichen zwischen Wörtern.
- Die Anzahl der Leerzeichen zwischen Wörtern in einer Zeile muss für diese Zeile gleich sein. Wenn dies nicht möglich ist, müssen nach den Wörtern von links nacheinander zusätzliche Leerzeichen hinzugefügt werden.
- Wenn das Wort länger als die angegebene Blockgröße ist, steht es allein in einer einzelnen Zeile (und überschreitet die Blockgröße).
- Wenn die Ausgabe nur ein Wort enthalten soll, wird sie nach links ausgerichtet.
- Die letzte Zeile der Ausgabe muss nach links ausgerichtet sein und nur ein Leerzeichen zwischen den Wörtern enthalten. Die letzte Zeile der Ausgabe muss mit einem Zeilenumbruch enden.
Die Antwort mit der kürzesten Anzahl von Bytes nach einiger Zeit gewinnt.
Wenn Sie zusätzliche Informationen benötigen, hinterlassen Sie einen Kommentar.
Testfälle
Input:
10
Lorem ipsum dolor sit amet,
consectetur adipiscing elit, sed do eiusmod tempor
Output:
Lorem
ipsum
dolor sit
amet,
consectetur
adipiscing
elit, sed
do eiusmod
tempor
Input:
20
Lorem ipsum
dolor sit amet,
Output:
Lorem ipsum dolor
sit amet,
Input:
1
Lorem ipsum dolor sit amet
Output:
Lorem
ipsum
dolor
sit
amet
code-golf
typography
Zereges
quelle
quelle
Antworten:
Pyth,
605754515052 Bytes22.10.2015: Die Behebung eines Fehlers dauerte 2 Bytes.
Probieren Sie es online aus.
quelle
Ruby, 179 Zeichen
Viel zu lang...
Halb ungolfed Version:
quelle
CJam, 87 Bytes
Dies sollte noch golfbar sein. Probieren Sie es online im CJam-Interpreter aus .
quelle
Netzhaut , 133 Bytes
Das steht
<empty>
für eine leere nachfolgende Linie. Um den Code auszuführen,<LF>
fügen Sie jede Zeile in eine separate Datei ein, ersetzen Sie sie durch Zeilenvorschubzeichen (0x0A) und<TB>
durch eine Registerkarte (0x09). Ich werde eine Erklärung hinzufügen, wenn ich mit dem Golfen fertig bin.quelle