前書き
Twitterを使用します(そうでない場合は仮装します)。ここでは、世界と共有したい個々のツイートごとに140文字に制限されています。フォロワーAbraham LincolnのGettysburg Addressにツイートしたい場合は、メッセージ全体を取り出すためにテキストを複数の140文字のチャンクに分割する必要があります。ただし、これらのチャンクの長さは常に140文字である必要はありません。たとえば、スピーチを17文字のチャンクに分割すると、これらのツイートになります。
- 4つのスコアとSE
- VEN YEARS AGO OUR
- フェザーズブラウト
- この詐欺について
- 新たなナチ
- Lで考えられる
- (等々)
それはまずいです!個々の単語が分割されると、あなたが言おうとしていることを理解することが難しくなる可能性があります。また、twitterverseでは、フォロワーの1人が特定のツイートに出くわし、メッセージにそれ以上のものがあることに気付かない場合があるため、ツイートに番号を付けて作業するコンテキストを持たせます(17文字のチャンクを使用します) ):
- (1/7)4つのスコアと
- (2/7)7年前
- (3/7)私たちの父
- (4/7)BROUGHT FORTH ON
- (5/7)この大陸A
- (6/7)新国家
- (7/7)に着想...
手動でツイートの最適な構成を手動で把握することもできますが、それが私たちのコンピューターの目的です!
チャレンジ
可能な限り短いコードで、ゲティスバーグアドレス(または任意のテキスト、ただしこれは例としてこれに固執します)を140文字以下で構成されるツイートのセットに解析します(この例のテキストはその中の珍しい/異常なビット)。
詳細
- 関数/プログラム/などは、単一の文字列引数を取り、ツイートごとに1行のテキストを出力する必要があります。
- 解析の選択方法に関係なく、この入力が解析時に合計99を超えるツイートになることはありません(その選択が課題の他のポイントに適合する限り)。
- ツイートには、ツイートの本文の前に「」の形式
tweet number
のtotal tweets
インジケーターを含める必要があります(x/y)
。- このカウントは、140文字のスペースの一部を占有します!
- ツイートのチャンクは、改行またはスペースでのみ分割できます。
- ハイフン、ピリオド、コンマ、またはその他の句読点は、スペースまたは改行が直前または直後にない限り許可されません。
- ツイートは、できるだけ多くの完全な単語で構成する必要があります。
- この制約はやや柔軟性があります。たとえば、最終ツイートの単語が1つだけの場合
- これはコードゴルフなので、最短のコードが勝ちます。
ゲティスバーグの住所の全文
(コードはまだ渡されたASCII文字列を処理できるはずです。)
4スコアと7年前私たちの父親は、この大陸で自由に考えられ、すべての人が平等に創造されるという提案に専念した新しい国を始めました。今、私たちは、そのような国や国がそのように考えられており、ひたむきに耐えることができるかどうかにかかわらず、大規模な市民戦争テストに従事しています。私たちはその戦争の素晴らしい戦いに出会っています。私たちは、その分野の一部を、その国が生計を立てた生計を立てた人たちのための最終的な休憩場所として捧げるようになりました。それはやはり適切であり、これを行うべきです。しかし、より大きな感覚では、私たちはこの地を捧げることはできません、私たちは黙認することも、放すこともできません。勇敢な男が生きて死んでしまった人は、私たちの貧弱な力を加えたり引いたりすることをはるかに凌ぐことを企てました。世界は、私たちがここで言うことを少しでも覚えていないが、彼らがここで何をしたかを決して忘れることはできないだろう。私たちにとって、生きているラザーは未完成の作品に専念し、ここで誰がここまで進んだのかを知ることができます。これらの名誉ある死から、私たちが最後の完全な献身をもたらすために、これらの名誉ある死からの献身を得るということは、私たちが偉大な仕事に専念することです。死んでしまい、神の下にあるこの国は新たな自由の誕生を持ち、人々のための人々の政府は地球から消滅することはありません。