En la obra absurda Rosencrantz y Guildenstern están muertos , los dos personajes principales Rosencrantz y Guildenstern (¿o son ellos?) Siempre están mezclando cuál de ellos es quién o, a veces, cuál de sus propias partes del cuerpo es cuál, debido a la falta percibida de identidad individual ¿No sería absurdo si incluso barajaran sus nombres?
Su tarea es escribir una función que tome una cadena de una longitud par (y por diseño, un múltiplo de 4) que tenga más de 7 caracteres, dividirla y barajarla.
La división será la siguiente : la cadena tendrá formato "abscd", y s actuará como un carácter separador. La primera sección y el separador absserán la primera mitad de la cadena, mientras que la segunda mitad serácd
La longitud de aserá(string length / 4) - 1
La longitud de bserá(string length / 4)
La longitud de sserá1
La longitud de cserá(string length / 4) + 1
La longitud de dserá(string length / 4) - 1
Esto puede ser realmente confuso, así que déjame mostrarte algunos ejemplos
("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:
Luego barajas las partes, generando adscb
ex. "rosencrantz&guildenstern" --> "rosenstern&guildencrantz"
"foobarr?barryfoo" --> "foofoo?barrybarr"
Rulez:
- Las lagunas estándar están prohibidas
- Respuestas aceptables: una función que toma la entrada a través de una cadena de entrada y devuelve una cadena de salida
- Si la cadena de entrada no coincide con los requisitos proporcionados anteriormente, su código DEBE dar error (no importa qué tipo de
ExceptionoError) - Esto es
code-golf, ¡entonces la respuesta más corta (válida) (en cada idioma) gana! - Puntos de bonificación para una línea :-) (No realmente, solo puntos geniales)