(注:これは私の初めてのコードゴルフの質問ですが、私が知る限り、誰もこれを正確に行っていないので、私は良いはずです。)
あなたの仕事は、文字列s
と整数を取り込んで、n
複数の行に折り返されたテキストを返すか出力するプログラムまたは関数を作成することです。各単語は完全に1行である必要があります。つまり、途中で単語が分割されません。各行はn
文字より長くすることはできません。また、各行にできるだけ多くの単語を収める必要があります。
例:
s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget erat lectus. Morbi mi mi, fringilla sed suscipit ullamcorper, tristique at mauris. Morbi non commodo nibh. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed at iaculis mauris. Praesent a sem augue. Nulla lectus sapien, auctor nec pharetra eu, tincidunt ac diam. Sed ligula arcu, aliquam quis velit aliquam, dictum varius erat."
n = 50
output:
Lorem ipsum dolor sit amet, consectetur adipiscing
elit. Sed eget erat lectus. Morbi mi mi, fringilla
sed suscipit ullamcorper, tristique at mauris.
Morbi non commodo nibh. Pellentesque habitant
morbi tristique senectus et netus et malesuada
fames ac turpis egestas. Sed at iaculis mauris.
Praesent a sem augue. Nulla lectus sapien, auctor
nec pharetra eu, tincidunt ac diam. Sed ligula
arcu, aliquam quis velit aliquam, dictum varius
erat.
出力は、文字列の配列または改行を含む単一の文字列です。また、がを超える単語はないと想定できるn
ため、奇妙なケースに対処する心配はありません。
標準のI / Oルールが適用され、標準の抜け穴は禁止されています。末尾のスペースは許可されます。
これはcode-golfであるため、バイト単位のショーツソリューションが優先されます。
ここで働くだろうPythonでプログラム例です。
n
は行の最大長です。残念ながら、これは明確ではありませんでした。明確にします。また、ルールが更新されたため、単純な分割は機能しません。