Na peça absurda Rosencrantz e Guildenstern estão mortos , os dois personagens principais Rosencrantz e Guildenstern (ou estão?) Estão sempre misturando qual deles é quem - ou, às vezes, qual parte do corpo é quem - por causa de uma falta percebida de identidade individual. Não seria absurdo se eles trocassem seus nomes?
Sua tarefa é escrever uma função que tenha uma sequência de tamanho uniforme (e por design, um múltiplo de 4) com mais de 7 caracteres, divida-a e embaralhe-a.
A divisão deve ser a seguinte : a sequência terá o formato "abscd", com s atuando como um caractere separador. A primeira seção e o separador absserão a primeira metade da corda, enquanto a segunda metade serácd
O comprimento de aserá(string length / 4) - 1
O comprimento de bserá(string length / 4)
O comprimento de sserá1
O comprimento de cserá(string length / 4) + 1
O comprimento de dserá(string length / 4) - 1
Isso pode ser realmente confuso, então deixe-me mostrar alguns exemplos
("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:
Em seguida, você embaralha as peças, produzindo adscb
ex. "rosencrantz&guildenstern" --> "rosenstern&guildencrantz"
"foobarr?barryfoo" --> "foofoo?barrybarr"
Rulez:
- As brechas padrão são proibidas
- Respostas aceitáveis: uma função que recebe a entrada através de uma sequência de entrada e retorna uma sequência de saída
- Se a string de entrada não corresponder aos requisitos fornecidos acima, seu código DEVE errar (não importa que tipo
ExceptionouError) - Esta é
code-golf, portanto, o mais curto de resposta (válido) (em cada língua) ganha! - Pontos de bônus para uma fila :-) (Na verdade não, mas apenas pontos interessantes)