Kode di situs ini cepat habis. Kita perlu berinvestasi dalam string yang terbarukan. Jadi, Anda harus menulis sebuah program yang mengambil string dan mengubahnya menjadi kincir angin.
Tantangan
Mari kita ambil string gilingan angin sederhana sebagai contoh. Ambil talinya abc
. The poros adalah karakter pusat, dalam hal ini b
. Karena panjang string adalah 3 karakter, setiap output akan memiliki tinggi tepat tiga garis dan lebar tiga karakter. Ini adalah output Anda pada langkah 1. (Perhatikan spasi putih)
abc
Untuk mendapatkan langkah selanjutnya, putar setiap karakter di sekitar pivot searah jarum jam. Inilah langkah 2:
Sebuah b c
Ini langkah 3-8:
Sebuah b c
Sebuah b c
cba
c b Sebuah
c b Sebuah
c b Sebuah
Dan pada langkah kesembilan, muncul lingkaran penuh ke string asli:
abc
Perhatikan bahwa b
tinggal di tempat yang sama sepanjang waktu. Ini karena b
karakter pivot. Anda harus menulis program atau fungsi yang mengambil string sebagai input dan berulang kali mencetak urutan ini hingga program ditutup.
Klarifikasi
Semua string input akan memiliki jumlah karakter ganjil. (Sehingga setiap kincir angin akan memiliki poros)
Agar tantangannya sederhana, semua string hanya akan berisi karakter alfabet huruf besar dan kecil.
Outputnya harus
len(input_string)
karakter lebar dan tinggi.Tidak masalah langkah urutan mana yang Anda mulai, asalkan Anda terus berputar dan berputar selamanya.
Lebih Banyak Tes IO:
Karena posnya sudah cukup panjang, berikut ini tautan ke keluaran untuk "kincir angin":
Sidenote:
Karena ini seharusnya kincir angin, akan luar biasa jika Anda memasukkan beberapa kode boilerplate untuk menghidupkannya dengan penundaan waktu yang kecil atau input pengguna di antara setiap langkah. Namun, karena beberapa bahasa tidak memiliki builtin waktu, ini tidak wajib. Bagian yang bersaing dari kiriman Anda hanya dapat mencetak urutan secepat mungkin.