Dada una cadena como entrada, genera una o más variantes de la cadena de manera que:
- Ningún personaje está en su posición original
- Ningún personaje es adyacente a un personaje que originalmente era adyacente a
Puede suponer que esto siempre será posible para la cadena dada, y solo contendrá caracteres alfabéticos de mayúsculas y minúsculas ( [a-z]o [A-Z]si lo prefiere)
Tenga en cuenta que los duplicados del mismo carácter no se consideran únicos.
Por ejemplo, dada la entrada programming, la salida no puede contener un men el 7 ° u 8 ° carácter, y no puede contener un gen el 4 ° u 11 ° carácter (1 indexado)
Ejemplo:
Toma la cuerda abcdef
Lo siguiente sería una salida válida: daecfb
Sin embargo, lo siguiente no sería válido: fdbcaecomo en este ejemplo cyb aún son adyacentes.
La adyacencia también se envuelve, lo que significa que no se puede hacer fdbecacomo fya sigue siendo adyacente.
Casos de prueba:
Tenga en cuenta que estas no son las únicas salidas válidas para las entradas dadas
Escrito como input -> output:
helowi -> ioewhl
mayube -> euabmy
stephens -> nhseespt
aabcdeffghij -> dbfhjfigaeca
Puntuación:
Este es el código de golf, por lo que gana menos bytes en cada idioma .
No character is adjacent to a character that it was originally adjacent to. ¿El orden no importa para la adyacencia? Entonces, ¿la entrada "abcd" no puede tener "ab" en ninguna parte, y tampoco puede tener "ba" en ninguna parte?