Absürd oyunda Rosencrantz ve Guildenstern Ölü vardır , iki ana karakter Rosencrantz ve Guildenstern (ya onlar?) Her zaman kendi vücut parçalarının hangi bazen kim-ya da bunların hangi yukarı karıştırma hangi-çünkü bir algılanan eksikliği bireysel kimlik. İsimlerini karıştırsalar bile saçma olmaz mıydı?
Göreviniz, eşit uzunlukta bir dizeyi (ve tasarımla, 7 karakterden daha büyük bir dizeyi) alan bir işlevi yazmak , bölmek ve karıştırmaktır.
Bölme aşağıdaki gibi olacaktır : dize, "abscd"bir ayırıcı karakter olarak işlev görecek şekilde formatta olacaktır . İlk bölüm ve ayırıcı, absdizenin ilk yarısı, ikinci bölüm isecd
Uzunluğu aolacak(string length / 4) - 1
Uzunluğu bolacak(string length / 4)
Uzunluğu solacak1
Uzunluğu colacak(string length / 4) + 1
Uzunluğu dolacak(string length / 4) - 1
Bu gerçekten kafa karıştırıcı olabilir, bu yüzden size bazı örnekler göstereyim
("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
En sonunda:
Daha sonra parçaları karıştırıp, adscb
ex. "rosencrantz&guildenstern" --> "rosenstern&guildencrantz"
"foobarr?barryfoo" --> "foofoo?barrybarr"
Rulez:
- Standart Loopholes yasaktır
- Kabul edilebilir cevaplar: bir girdi dizesi üzerinden girdi alan ve bir çıktı dizesi döndüren bir işlev
- Giriş dizesi yukarıda belirtilen gereksinimlere uymuyorsa, kodunuz hata vermelidir ZORUNLU (ne tür
Exceptionveya ne olduğu önemli değilError) - Bu,
code-golfen kısa (geçerli) cevap (her dilde) kazanır! - Bir astar için bonus puan :-) (Gerçekten tho değil, sadece harika puanlar)