Diberikan string teks, output sebagai 'menara'.
Setiap irisan string (bentuk 0:n
) diulang 5*n
kali, jadi karakter pertama diulang 5 kali, lalu yang pertama dan yang kedua 10 kali, dll.
Contoh:
'hello' ->
['h']
['h']
['h']
['h']
['h']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
['h', 'e', 'l', 'l', 'o']
'cat' ->
['c']
['c']
['c']
['c']
['c']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
['c', 'a', 't']
Aturan:
Anda dapat menampilkan setiap layer sebagai daftar karakter atau hanya serangkaian yang digabungkan bersama.
[["c","c","c","c","c"],["ca","ca","ca","ca","ca","ca","ca","ca","ca","ca"],...]
?Jawaban:
R , 48 byte
Cobalah online!
Mengembalikan daftar string.
sumber
05AB1E , 6 byte
Cobalah online!
Mengembalikan daftar string.
Penjelasan
sumber
ηā5*ÅΓ
ηvyg5*Fy=
untuk 8.Haskell , 36 byte
Cobalah online!
sumber
Stax , 8 byte
Jalankan dan debug itu
Dibongkar, tidak diserang, dan dikomentari, sepertinya ini.
Jalankan yang ini
sumber
TI-Basic (TI-84 Plus CE), 29 byte (27 token)
Penjelasan:
sumber
Retina , 15 byte
Cobalah online! Tautan termasuk kasus uji. Penjelasan:
Cocokkan setiap karakter dalam string.
$`
adalah awalan pertandingan. Retina kemudian menyediakan dua pengubah,>
memodifikasinya untuk berada dalam konteks string antara pertandingan yang berurutan, sambil.
memakan waktu. Karena itu kami mulai dengan awalan suffix, yang setara dengan pertandingan termasuk awalannya. Ini menghemat 2 byte daripada menggunakan pertandingan yang tumpang tindih. Yang$(
kemudian menyimpulkan bahwa dengan baris baru,5*
mengulanginya, dan kemudian$.>`
mengulanginya lagi beberapa kali karena panjangnya.sumber
Kanvas , 6 byte
Coba di sini!
Penjelasan:
sumber
Brachylog , 15 byte
Cobalah online!
Final
c
dapat dihapus jika OP menjawab positif pertanyaan tentang mengeluarkan array 2D.sumber
Cubix ,
4440 byteCobalah online!
Ini masih memiliki banyak no-ops, tetapi ini sedikit lebih baik dari sebelumnya.
Sebagai deskripsi yang sangat singkat, karakter diambil dari input dan diuji untuk EOI (-1), berhenti jika ada. Tumpukan kemudian dibalik. Dapatkan jumlah item di tumpukan dan beberapa dengan -5. Jatuhkan ke bagian bawah tumpukan dan bersihkan. Loop melalui tumpukan, mencetak, hingga angka negatif. Cetak baris baru, tambah angkanya, jika 0 jatuhkan nol, balikkan tumpukan, dan mulai dari input lagi, jika tidak lewati tumpukan, cetak, hingga angka negatif ... ad nauseum
Kubus sepertinya
Tonton secara online
sumber
Jelly , 8 byte
Cobalah online!
Cobalah online!
Cobalah online!
Ini kemungkinan golf.
sumber
+\ẋ"Jx5Ẏ
JavaScript,
4846 byte(terima kasih @redundancy)
Sunting: Penulis mengklarifikasi dan jawaban ini sekarang tidak valid, tetapi saya akan membiarkannya di sini tidak berubah.
Mengembalikan array string multi-line.
Cobalah
Strategi potensial:
Itu tidak banyak membantu saya, tetapi mungkin seseorang dapat menggunakan ini:
Jumlah karakter pada baris (0-diindeks)
i
adalahfloor(sqrt(2/5*i+1/4)+1/2)
, yang di-golf dalam JavaScript sebagai(.4*i+.25)**.5+.5|0
.Untuk untaian panjang
n
, adan*(n+1)*5/2
garis.Mungkin:
s=>{for(i=0;(n=(.4*i+++.25)**.5+.5|0)<=s.length;)console.log(s.slice(0,n))}
sumber
Python 3 ,
4341 byteBerkat ovs untuk menghemat 2 byte!
Kode
Cobalah online!
sumber
C (gcc) , 67 byte
Cobalah online!
sumber
Sekam , 8 byte
Cobalah online!
Penjelasan
sumber
Haskell,
464342 byteCobalah online!
Sedih
inits
membutuhkanimport Data.List
, jadidengan 45 byte lebih panjang.
Sunting: -1 byte terima kasih kepada @BWO.
sumber
Arang , 11 byte
Cobalah online! Tautan adalah untuk mengucapkan versi kode. Output mencakup 0 repetisi dari substring panjang nol. Penjelasan:
sumber
Rubi ,
4642 byteCobalah online!
sumber
PowerShell ,
402025 byteSkor memotong setengah berkat mazzy
+5 byte berkat AdmBorkBork menunjukkan spesifikasi
Cobalah online!
Mengambil input melalui splatting. Bekerja dengan membangun string dengan menambahkan karakter berikutnya ke dirinya sendiri, mengubahnya menjadi array elemen satu, dan kemudian mengulanginya
5*i
kali.sumber
param
sangat mahal. Cobalah untuk menghindarinyaMATL , 12 byte
Cobalah online!
sumber
V , 17 byte
Mengharapkan input tanpa baris baru, dan output dengan baris baru terkemuka berlebihan.
Saya dapat menghapus entri ini jika input / output melanggar spesifikasi tantangan.
Cobalah online!
21 byte
Mengharapkan input tanpa baris baru, tetapi output dengan hanya satu baris baru yang memimpin dan tertinggal.
Penjelasan
Substring yang berbeda dipisahkan dengan dua baris baru berturut-turut sehingga duplikasi garis hanya berlaku untuk garis yang cocok dengan regex
$\n\n
.Ketika perintah duplikasi (
Ä
) diberikan hitungan, misalnya6Ä
, (saya pikir) itu menghapus baris saat ini sebelum menyisipkann
waktu, sehingga hanya muncul untuk menambahkann - 1
salinan.sumber
Perl 5 , 29 byte
Cobalah online!
sumber
Perl 6 , 25 byte
Cobalah online!
Blok kode anonim yang mengembalikan daftar daftar string.
Jika Anda menginginkannya sebagai array 1D, Anda dapat menambahkan
flat
di depan seperti:Cobalah online!
Penjelasan:
Kalau tidak,
Cobalah online!
Juga berfungsi untuk jumlah byte yang sama.
sumber
Japt, 10 byte
Menunggu konfirmasi apakah format output dapat diterima (+2 byte jika tidak).
Cobalah
sumber
Japt ,
1512 byte-3 byte dari @Shaggy
Cobalah online!
sumber
JavaScript, 76 byte
sumber
i=1;i<=s.length;i++
bisai=0;++i<=s.length;
.Keempat (gforth) , 48 byte
Cobalah online!
Penjelasan
Penjelasan Kode
sumber
Java 10,
120929089 byte-28 byte terima kasih kepada @ OlivierGrégoire .
-1 byte terima kasih kepada @ceilingcat .
Cobalah online.
Penjelasan:
sumber
s->{for(int i=1,j=1;i<=s.length();i+=j++<i*5?0:+(j=1))System.out.println(s.substring(0,i));}
>=
dan?j=1:0
bukannya<
dan?0:+(j=1)
.brainfuck , 40 byte
Cobalah online!
sumber
APL (Dyalog Unicode) , 14 byte SBCS
Cobalah online!
Posting apl pertama saya jadi tolong beri tahu saya jika Anda memiliki saran
Bagaimana itu bekerja:
sumber
↑
tidak benar-benar Pisahkan ke dalam baris melainkan Gabungkan [daftar daftar] menjadi baris [dari sebuah matriks] , atau lebih secara teknis Tingkatkan peringkat dengan mengorbankan kedalaman .Ruby , 37 byte
Cobalah online!
sumber