Einführung
Sie verwenden Twitter (tun wir so, als ob nicht), wobei Sie auf 140 Zeichen pro einzelnem Tweet beschränkt sind, den Sie mit der Welt teilen möchten. Wenn Sie Ihren Followern von Abraham Lincolns Gettysburg-Adresse twittern möchten, müssen Sie den Text in mehrere 140-stellige Blöcke aufteilen, um die gesamte Nachricht zu verbreiten. Diese Chunks sollten jedoch nicht immer genau 140 Zeichen lang sein. Nehmen wir zum Beispiel an, wir haben die Rede in 17-stellige Teile aufgeteilt. Am Ende würden wir folgende Tweets erhalten:
- VIER PUNKTE UND SE
- VEN JAHRE VOR UNSEREM
- VATER GEBROCHEN
- WEITER AUF DIESEM CON
- TINENT EIN NEUES NATI
- AUF IN L
- (und so weiter)
Das ist nicht gut! Wenn einzelne Wörter getrennt werden, kann es schwierig werden zu verstehen, was Sie sagen möchten. Auf der Twitter-Seite kann es auch vorkommen, dass einer Ihrer Follower auf einen bestimmten Tweet stößt und nicht merkt, dass die Nachricht mehr enthält. Daher sollten Sie Ihre Tweets nummerieren, damit sie einen Kontext haben, mit dem Sie arbeiten können (und immer noch 17-stellige Chunks verwenden) ):
- (1/7) VIER PUNKTE UND
- (2/7) VOR SIEBEN JAHREN
- (3/7) UNSERE VATER
- (4/7) WEITERGEBRACHT
- (5/7) DIESER KONTINENT A
- (6/7) NEUE NATION
- (7/7) ENTWICKELT IN ...
Sie könnten die beste Konfiguration für Ihre Tweets manuell von Hand herausfinden, aber dafür haben wir Computer!
Herausforderung
Analysieren Sie die Gettysburg-Adresse (oder einen beliebigen Text, wir werden uns jedoch an diesem Beispiel orientieren) in einem Satz von Tweets mit maximal 140 Zeichen (nehmen Sie ASCII an, da unser Beispieltext keine haben sollte) alle ungewöhnlichen / ungewöhnlichen Teile darin).
Einzelheiten
- Ihre Funktion / Programm / etc sollte ein einzelnes String-Argument aufnehmen und für jeden Tweet eine Textzeile ausgeben.
- Angenommen, diese Eingabe führt beim Parsen nie zu mehr als 99 Tweets insgesamt, unabhängig davon, wie Sie das Parsen auswählen (solange diese Auswahl noch zu den anderen Punkten der Herausforderung passt).
- Tweets müssen einen " "
tweet numberof -total tweetsIndikator im Format(x/y)vor dem Text des Tweets enthalten.- Diese Zählung nimmt einen Teil Ihres 140-Zeichen-Platzes ein!
- Tweet-Chunks dürfen nur in Zeilenumbrüchen oder Leerzeichen aufgeteilt werden.
- Bindestriche, Punkte, Kommas oder andere Satzzeichen sind nicht zulässig, es sei denn, unmittelbar davor oder dahinter steht ein Leerzeichen oder eine neue Zeile.
- Tweets sollten aus möglichst vielen vollständigen Wörtern bestehen.
- Diese Einschränkung ist etwas flexibel, z. B. wenn Ihr endgültiger Tweet nur ein Wort enthält
- Dies ist Codegolf, also gewinnt der kürzeste Code.
Vollständiger Wortlaut der Adresse von Gettysburg
(Ihr Code sollte weiterhin in der Lage sein, alle an ihn übergebenen ASCII-Zeichenfolgen zu verarbeiten.)
VIER PUNKTE UND SIEBEN JAHRE VOR UNSEREN VATERN, DIE AUF DIESEM KONTINENT EINE NEUE NATION GEBRACHT HABEN, DIE IN DER FREIHEIT ERRICHTET WURDE, DASS ALLE MÄNNER GLEICH GESTELLT SIND. JETZT SIND WIR IN EINEN GROSSEN ZIVILKRIEG EINGEFÜGT, DER PRÜFT, OB DIESE NATION ODER JEGLICHE NATION, DIE SO ERFINDEN UND ENDIZIERT WURDEN, LANGDAUER KÖNNEN. WIR SIND AUF EINEM GROSSEN SCHLACHTFELD DIESES KRIEGES. WIR MÜSSEN EINEN TEIL DIESES GEBIETS ALS ENDGÜLTIGEN ORT FÜR JENE BESTIMMEN, DIE IHR LEBEN GEGEBEN HABEN, DASS DIESE NATION LEBEN KÖNNTE. ES PASST AUCH PASSEND UND PASSEND, DASS WIR DAS TUN SOLLTEN. ABER IM GRÖSSEREN SINNE KÖNNEN WIR NICHT BESTIMMEN, WIR KÖNNEN NICHT KONSEKRIEREN, WIR KÖNNEN DIESEN GRUND NICHT HEILEN. DIE MUTIGEN LEBENDIGEN UND TOTEN, DIE HIER UMKÄMPFEN, HABEN ES WEIT ÜBER UNSERER SCHLECHTEN KRAFT GEWÄHRT, UM ZU ADDIEREN ODER ABZULEITEN. Die Welt wird sich weder merken noch daran erinnern, was wir hier sagen, aber sie kann nie vergessen, was sie hier getan haben. ES IST FÜR UNS, DASS DAS LEBEN HIER DER UNVOLLSTÄNDIGEN ARBEIT GEWIDMET IST, DIE SIE HIER GEKRÄFT HABEN, DASS SIE SO NOCH NOCH NICHT VORGEKOMMEN SIND. Es ist vielmehr so, dass wir uns der großen Aufgabe widmen, die uns noch bevorsteht, und dass wir aufgrund dieser ehrwürdigen Tötung eine verstärkte Ablehnung vornehmen, um den Grund für die Ablehnung der letzten vollständigen Ablehnung zu finden HABEN IN VAIN GESTORBEN, DASS DIESE NATION UNTER GOTT EINE NEUE GEBURT DER FREIHEIT HAT, UND DASS DIE REGIERUNG DER MENSCHEN DURCH DIE MENSCHEN NICHT AUS DER ERDE VERGANGEN WIRD.