Sebagai seorang programmer, Anda mungkin pernah mendengar tentang garis miring ke depan dan garis miring ke belakang. Tetapi apakah Anda pernah mendengar tentang downslash? Saat itulah Anda mengambil banyak garis miring, hubungkan ujungnya dan tarik turun.
Untuk tantangan hari ini, Anda harus menulis sebuah program atau fungsi yang mengambil string yang murni terdiri dari garis miring, dan menampilkan semua garis miring yang ditarik ke bawah dalam garis yang menghubungkannya. Ini akan jauh lebih jelas jika Anda melihat contoh. Mengingat string \\\//\/\\
, Anda harus menampilkan:
\
\
\
/
/
\
/
\
\
Berikut ini beberapa klarifikasi:
Harus ada satu garis miring per baris.
Baris pertama akan memiliki 0 spasi utama.
Untuk setiap pasang garis miring:
Jika mereka berbeda satu sama lain, mereka akan ditarik di kolom yang sama. Misalnya,
\/
akan memberi:\ /
Jika mereka memiliki karakter yang sama, yang lebih rendah berada di arah yang ditunjukkan , yaitu bergerak ke kanan untuk backslash, dan bergerak ke kiri untuk tebasan ke depan. Jadi
\\//
akan memberi\ \ / /
Setiap baris mungkin memiliki spasi spasi tambahan selama ini tidak mengubah tampilan visual dari output. Hingga satu trailing dan newline terkemuka juga dapat diterima. Ruang pemimpin tambahan tidak diizinkan !
Agar lebih sederhana, Anda dapat mengasumsikan bahwa string tidak akan pernah mengandung terlalu banyak garis miring ke depan. Dengan kata lain, tidak ada awalan input yang akan mengandung garis miring yang lebih maju dari garis miring terbalik, sehingga input seperti \\////
atau //
tidak akan pernah diberikan. Ini juga berarti bahwa setiap input akan mulai dengan garis miring terbalik.
Jika input Anda diambil sebagai string literal, Anda dapat lolos dari garis miring terbalik jika ini diperlukan. Anda juga tidak perlu menangani input yang kosong, atau mengandung karakter selain garis miring.
Anda dapat menampilkan dengan format apa pun yang masuk akal .
Seperti biasa, ini adalah tantangan kode-golf , jadi cobalah membuat solusi sesingkat mungkin, bahkan jika Anda memilih bahasa yang agak sulit. Poin bonus untuk menjelaskan teknik menarik yang Anda gunakan untuk melepas byte!
Contohnya
#Input
\\\\\\\\\\\
#Output
\
\
\
\
\
\
\
\
\
\
\
#Input
\\\//\\/\//\\///
#Output
\
\
\
/
/
\
\
/
\
/
/
\
\
/
/
/
#Input
\/\/\/
#Output
\
/
\
/
\
/