Nell'assurdista dramma Rosencrantz e Guildenstern sono morti , i due personaggi principali Rosencrantz e Guildenstern (o sono?) Mescolano sempre chi di loro è - o talvolta quale delle loro parti del corpo è quale - a causa di una percepita mancanza di identità individuale. Non sarebbe assurdo se si trascinassero intorno ai loro nomi?
Il vostro compito è di scrivere una funzione che prende in una stringa di un ancora di lunghezza (e in base alla progettazione, un multiplo di 4) che è maggiore di 7 caratteri, divise, e shuffle esso.
La divisione sarà la seguente : la stringa sarà di formato "abscd", con s che agisce da carattere separato. La prima sezione e il separatore abssaranno la prima metà della stringa, mentre la seconda saràcd
La lunghezza di asarà(string length / 4) - 1
La lunghezza di bsarà(string length / 4)
La lunghezza di ssarà1
La lunghezza di csarà(string length / 4) + 1
La lunghezza di dsarà(string length / 4) - 1
Questo può essere davvero confuso, quindi lascia che ti mostri alcuni esempi
("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
Finalmente:
Quindi mescoli le parti in giro, producendo adscb
ex. "rosencrantz&guildenstern" --> "rosenstern&guildencrantz"
"foobarr?barryfoo" --> "foofoo?barrybarr"
Rulez:
- Sono vietate le scappatoie standard
- Risposte accettabili: una funzione che accetta l'input attraverso una stringa di input e restituisce una stringa di output
- Se la stringa di input non corrisponde ai requisiti sopra indicati, il codice DEVE essere in errore (non importa quale tipo di
ExceptionoError) - Questa è
code-golf, quindi vince la risposta (valida) più breve (in ogni lingua)! - Punti bonus per un solo giocatore :-) (Non proprio però, solo punti interessanti)