Tangga Tali
Penafian: Ini adalah tantangan pertama yang saya usulkan. Semua dan semua umpan balik diterima. Jika ini merupakan duplikat, harap tunjukkan.
Berikut ini tautan ke pos sandbox.
Tujuan
Tujuan dari tantangan ini adalah untuk, mengingat string dan integer, mencetak string ke dalam blok dengan ukuran integer itu. Jika sebuah kata memiliki lebih banyak karakter daripada ukuran blok, cetaklah ke dalam pola "tangga" turun.
Aturan
- "Pola tangga" yang disebutkan di atas berarti bahwa, untuk setiap blok kata yang sama, blok itu harus dimulai tepat di mana blok di atasnya berakhir. Periksa kasus uji (atau tanyakan) jika Anda memiliki pertanyaan.
- Jika sebuah kata dipecah dalam beberapa blok, kata berikut harus dicetak dengan jumlah spasi yang memadai, yaitu, kata itu harus dipisahkan dari blok paling bawah kata sebelumnya dengan tepat satu spasi. Periksa kasus uji (atau minta) untuk klarifikasi.
- Anda dapat mengasumsikan string input hanya akan terdiri dari karakter ASCII yang dapat dicetak. Juga, itu tidak akan memiliki beberapa spasi putih berturut-turut.
- Anda juga dapat mengasumsikan bahwa bilangan bulat akan selalu berada dalam kisaran [1, + ∞).
- Ruang putih atau baris baru yang tertinggal diizinkan.
- Anda dapat menggunakan metode yang masuk akal untuk I / O.
- Berlaku celah standar .
- Ini adalah kode-golf , jadi kode terpendek (dalam byte, per bahasa) menang. Setelah satu minggu (atau lebih), saya akan menerima jawaban tersingkat secara keseluruhan.
Uji Kasus
(String, Integer) => (Output)
"This is a large string", 3 => Thi is a lar str
s ge ing
"This is an even larger string!", 2 => Th is an ev la st
is en rg ri
er ng
!
"Ooooh dear, what a big string you have!", 3
=> Ooo dea wha a big str you hav
oh r, t ing e!
"Staphylococcus saprophyticus", 4 => Stap sapr
hylo ophy
cocc ticu
us s
"I hope you find this challenge interesting", 2
=> I ho yo fi th ch in
pe u nd is al te
le re
ng st
e in
g
"Well, this test case looks kinda pointless now doesn't it?", 15
=> Well, this test case looks kinda pointless now doesn't it?
"This one looks a lot more interesting!", 1 => T o l a l m i
h n o o o n
i e o t r t
s k e e
s r
e
s
t
i
n
g
!
"Keep in mind, people: 'Punctuation! Does! Matter!'", 2
=> Ke in mi pe 'P Do Ma
ep nd op un es tt
, le ct ! er
: ua !'
ti
on
!
Jawaban:
Arang , 22 byte
Cobalah online! Tautan adalah untuk mengucapkan versi kode. Penjelasan:
* Lebih tepatnya, "pindah ke awal baris berikutnya dua kali, tetapi seolah-olah kanvas diputar." Sunting: Di antara tantangan yang sedang diatur dan jawaban ini diterima, Charcoal sebenarnya memperoleh cara untuk memecah string menjadi pasangan karakter, mengurangi kode 16 byte:
F⪪θ «↑⸿⸿F⪪ιIη«κ↙
Cobalah secara online! Tautan adalah untuk mengucapkan versi kode. Penjelasan:sumber
SOGL V0.12 ,
282726 byteCoba Di Sini!
Saya memang menerapkan
‰
sementara membuat ini, tetapi dokumentasi untuk itu ada sebelumnya.Penjelasan:
sumber
Javascript ES6,
187183174166163148145143141140138 bytesumber
<"!"
alih-alih==" "
.C #, 200 byte
Di mana string ditentukan oleh i dan ukurannya ditentukan oleh s .
Misalnya
Pada dasarnya, bagian pertama Regex. Plit menggunakan spasi putih untuk membagi kalimat menjadi kata-kata, dan Regex. Pertandingan membagi setiap kata menjadi potongan-potongan yang ditentukan oleh s . Potongan ditulis ke posisi kursor (x, y) di mana Y diatur ke 0 untuk setiap kata baru, dan x bertambah 2 untuk potongan kata pertama dan selanjutnya (s-1) untuk setiap potongan.
x memulai kehidupannya di -2 untuk memastikan penggunaan pertama kali diatur ke 0.
Saya tidak cukup berpengetahuan di C # trivia untuk bisa membuatnya lebih kecil, tetapi saya curiga itu mungkin.
sumber
Python 2 ,
203199 byteCobalah online!
sumber
' '*(i/l*(l-1))
bisai/l*~-l*' '
.Perl 5, 59 byte
55 byte kode + 4 untuk
-ai
.Catatan: huruf
\x1b
s adalahESC
karakter literal , tetapi lolos di sini untuk menyalin dan menempel dengan mudah.Skrip ini menggunakan urutan pelarian ANSI dan membutuhkan input melalui
-i
flag yang tidak standar. Jika salah satu dari ini tidak dapat diterima, beri tahu saya dan saya akan memperbarui.Contoh berjalan
sumber