In dem absurden Stück Rosencrantz und Guildenstern sind tot , die beiden Hauptfiguren Rosencrantz und Guildenstern (oder sind sie?) Verwechseln immer welche von ihnen wer - oder manchmal welche ihrer eigenen Körperteile welche - wegen eines wahrgenommenen Mangels an individuelle Identität. Wäre es nicht absurd, wenn sie überhaupt um ihre Namen schlurften?
Ihre Aufgabe ist es, eine Funktion zu schreiben, die eine Zeichenfolge mit einer geraden Länge (und standardmäßig einem Vielfachen von 4) mit mehr als 7 Zeichen enthält, sie zu teilen und zu mischen.
Die Aufteilung muss wie folgt sein : Die Zeichenfolge hat das Format "abscd", wobei s als Trennzeichen fungiert. Der erste Abschnitt und das Trennzeichen sind absdie erste Hälfte der Zeichenfolge, die zweite Hälftecd
Die Länge von awird sein(string length / 4) - 1
Die Länge von bwird sein(string length / 4)
Die Länge von swird sein1
Die Länge von cwird sein(string length / 4) + 1
Die Länge von dwird sein(string length / 4) - 1
Dies kann sehr verwirrend sein. Lassen Sie mich Ihnen einige Beispiele zeigen
("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
Schließlich:
Anschließend mischen Sie die Teile und geben sie aus adscb
Ex. "rosencrantz&guildenstern" --> "rosenstern&guildencrantz"
"foobarr?barryfoo" --> "foofoo?barrybarr"
Rulez:
- Standardlücken sind verboten
- Akzeptable Antworten: Eine Funktion, die Eingaben über eine Eingabezeichenfolge und eine Ausgabezeichenfolge zurückgibt
- Wenn die Eingabezeichenfolge nicht den oben angegebenen Anforderungen entspricht, MUSS Ihr Code fehlerhaft sein (egal welche Art von
ExceptionoderError) - Dies ist
code-golf, also gewinnt die kürzeste (gültige) Antwort (in jeder Sprache)! - Bonuspunkte für einen Einzeiler :-) (Nicht wirklich, nur coole Punkte)