Dalam drama absurd Rosencrantz dan Guildenstern are Dead , dua karakter utama Rosencrantz dan Guildenstern (atau mereka?) Selalu mencampuradukkan siapa di antara mereka yang — atau kadang-kadang bagian tubuh mereka yang mana — karena dianggap kurang memiliki identitas individu. Bukankah tidak masuk akal jika mereka bahkan mengacak-acak nama mereka?
Tugas Anda adalah menulis fungsi yang mengambil string dengan panjang genap (dan dengan desain, kelipatan 4) yang lebih besar dari 7 karakter, membaginya, dan mengocoknya.
Pemisahan harus sebagai berikut : string akan berformat "abscd", dengan akting sebagai karakter pemisah. Bagian pertama dan pemisah, absakan menjadi bagian pertama dari string, sedangkan bagian kedua akan menjadicd
Panjangnya aakan(string length / 4) - 1
Panjangnya bakan(string length / 4)
Panjangnya sakan1
Panjangnya cakan(string length / 4) + 1
Panjangnya dakan(string length / 4) - 1
Ini mungkin benar-benar membingungkan, jadi izinkan saya menunjukkan kepada Anda dengan beberapa contoh
("a" + "bb" + "s" + "ccc" + "d").length //8
1 2 1 3 1
|-------4--------| |----4-----| <--- (4 is half of 8)
("rosen" + "crantz" + "&" + "guilden" + "stern").length //24
5 6 1 7 5
("foo" + "barr" + "?" + "barry" + "foo").length
3 4 1 5 3
Akhirnya:
Anda kemudian mengocok bagian di sekitar, mengeluarkan adscb
ex. "rosencrantz&guildenstern" --> "rosenstern&guildencrantz"
"foobarr?barryfoo" --> "foofoo?barrybarr"
Aturan:
- Celah Standar dilarang
- Jawaban yang dapat diterima: fungsi yang mengambil input melalui satu string input dan mengembalikan satu string output
- Jika string input tidak sesuai dengan persyaratan yang diberikan di atas, kode Anda HARUS error (tidak peduli apa
ExceptionatauError) - Ini
code-golf, jadi jawaban terpendek (valid) (dalam setiap bahasa) menang! - Poin bonus untuk satu liner :-) (Tidak juga, hanya poin keren)