Tugas
Tugas Anda adalah menulis seluruh program, yang akan menyelaraskan input yang diberikan ke blok ukuran yang diberikan.
Memasukkan:
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.
Keluaran:
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
Detail Input
- Anda harus menulis seluruh program yang dapat dieksekusi / dapat ditafsirkan.
- Anda mungkin mengira, bahwa input hanya berisi karakter ASCII yang dapat dicetak dan tidak mengandung tab
\t
. - Input dapat berisi jeda baris. Jika ia melakukannya, mereka diberikan sebagai
\n
,\r
atau\r\n
tergantung pada apa yang Anda harapkan. Namun mereka disatukan dalam seluruh input. - Input dapat diberikan dalam STDIN, atau sebagai argumen baris perintah. Anda dapat menggunakan keduanya jika sesuai dengan kebutuhan Anda (misalnya, baca ukuran blok dari command args dan input sebagai stdin). Namun, Anda tidak boleh menyalin kode bagian apa pun dari input ke program Anda.
- Anda mungkin mengira bahwa ukuran blok diberikan sebagai
> 0
angka positif ( ) yang valid . - Istirahat baris pada input diperlakukan dengan cara yang sama dengan spasi (dengan demikian menjadi pemisah kata)
- Jika input berisi beberapa ruang konkuren, mereka diperlakukan sebagai satu.
Rincian keluaran
- Keluaran harus diformat ke dalam blok ukuran yang diberikan. Pemformatan dilakukan dengan menambahkan spasi antar kata.
- Jumlah spasi antara kata-kata pada suatu baris harus sama dengan baris itu. Jika tidak memungkinkan, ruang tambahan harus ditambahkan satu per satu setelah kata-kata dimulai dari kiri.
- Jika kata lebih panjang dari ukuran blok yang diberikan, itu akan berdiri sendiri pada satu baris (dan akan melebihi ukuran blok).
- Jika output hanya berisi satu kata, itu akan disejajarkan ke kiri.
- Baris terakhir dari output harus disejajarkan ke kiri, dengan hanya satu spasi di antara kata-kata. Baris terakhir dari output harus diakhiri dengan trailing line break.
Jawabannya, dengan jumlah byte terpendek setelah beberapa waktu, menang.
Jika Anda memerlukan informasi tambahan, tinggalkan komentar.
Uji kasus
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
sumber
sumber
Jawaban:
Pyth,
605754515052 byte2015-10-22: memperbaiki bug membutuhkan 2 byte.
Cobalah online.
sumber
Ruby, 179 karakter
Terlalu lama...
Versi semi-ungolfed:
sumber
CJam, 87 byte
Ini harus tetap golf. Cobalah online di penerjemah CJam .
sumber
Retina , 133 byte
The
<empty>
mewakili garis miring kosong. Untuk menjalankan kode, letakkan setiap baris dalam file terpisah, ganti<LF>
dengan karakter linefeed (0x0A) dan<TB>
dengan tab (0x09). Saya akan menambahkan penjelasan ketika saya selesai bermain golf.sumber