Latar Belakang
Saya ingin membuat kata cloud yang cantik, seperti ini:
these are
words
floating
Saya menghitung (x,y)
-koordinat huruf pertama dari setiap kata, menyambungkannya ke generator kata cloud saya, dan membiarkannya melakukan tugasnya. Namun, saya tidak sengaja menggunakan (y,x)
-coordinate, jadi hasilnya terlihat seperti ini:
these
floating
words
are
Karena saya terlalu malas untuk menghitung ulang koordinat, saya ingin Anda mengubah kata cloud untuk saya.
Memasukkan
Input Anda adalah kotak persegi panjang huruf dan spasi ASCII kecil. Ini berarti bahwa setiap baris diisi dengan spasi untuk memiliki panjang yang sama. Input dapat diambil sebagai string multi-line atau array string.
Sebuah kata adalah segmen huruf horizontal, dan posisinya adalah (x,y)
-koordinat huruf paling kiri, sudut kiri atas grid sedang (0,0)
. Akan selalu ada setidaknya satu kata, dan tidak ada baris atau kolom spasi tambahan. Namun, baris atau kolom spasi mungkin ada.
Keluaran
Output Anda adalah kotak karakter persegi panjang lain, diperoleh dengan menggerakkan setiap kata dengan posisi (x,y)
ke posisi (y,x)
. Output Anda tidak boleh mengandung baris atau kolom spasi tambahan tambahan. Baris dan kolom terkemuka harus dipertahankan, dan hasilnya harus persegi panjang .
Anda dapat mengasumsikan bahwa transformasi ini tidak menciptakan kata-kata yang tumpang tindih, dan tidak menggabungkan beberapa kata menjadi satu. Ini berarti bahwa menjalankan program pada output harus menghasilkan input asli.
Aturan dan penilaian
Anda dapat menulis program atau fungsi lengkap. Hitungan byte terendah menang, dan celah standar tidak diizinkan.
Uji kasus
Untuk kejelasan (dan karena Stack Exchange tidak menyukai garis spasi saja), setiap baris berakhir dengan karakter pipa |
.
Ini bukan bagian dari input atau output aktual , dan Anda harus menghapusnya. Perhatikan lagi bahwa menjalankan program pada setiap output juga harus menghasilkan input yang sesuai.
Input:
oneword|
Output:
oneword|
Input:
spaces|
Output:
|
|
spaces|
Input:
|
row|
Output:
row|
Input:
these are|
words |
|
floating |
Output:
these |
|
floating|
|
words |
|
|
|
are |
Input:
same|
the |
|
same |
Output:
same|
the |
|
same |
Input:
some |
words k|
|
|
|
still|
Output:
words |
|
some still|
|
|
|
k |
Input:
hello |
world hey|
what up |
Output:
what|
|
world|
hello |
|
|
|
up |
hey |
Input:
a b a d cc|
g h huh nng|
ye dunnn |
dud yo |
wha g |
huh heh hah|
Output:
|
g wha |
a ye huh|
h |
b dud |
dunnn |
huh heh|
a g |
|
d yo |
nng hah|
cc |