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 m
en el 7 ° u 8 ° carácter, y no puede contener un g
en 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: fdbcae
como en este ejemplo c
yb
aún son adyacentes.
La adyacencia también se envuelve, lo que significa que no se puede hacer fdbeca
como f
ya
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?