Historia
Necesito recordar muchas contraseñas y no quiero usar la misma para varios sitios web, así que se me ocurrió una regla, pero la regla no debería ser transparente, así que lo que hago es:
- Piense en una palabra larga o concepto como
breadpudding. - Reemplace la primera letra con el sitio en el que estamos iniciando sesión. Si estamos iniciando sesión
google, nuestra palabra se conviertegreadpudding. - Escribe la primera letra en mayúscula.
- Cambia la segunda letra a un
@signo. - Si la contraseña comienza con una no consonante, agregue un número determinado (como
1234); de lo contrario, agregue otro número (como4321).
Ta da, ahora tienes una contraseña adecuada.
Sin embargo, este proceso es arduo, por lo que necesito un programa para generar esto en función de lo siguiente:
Problema
Entrada dada:
a: la palabra inicial, que es una cadena y siempre está en minúscula, y se garantiza que tenga más de 3 caracteres.b: el sitio en el que estamos iniciando sesión, que es una cadena y siempre está en minúsculas, y se garantiza que no está vacío.c: el número para las no consonantes, que es un número entero positivo que puede tener ceros a la izquierda.d: el número de consonantes, que es un entero positivo que puede tener ceros a la izquierda.
Salida de una cadena basada en los criterios anteriores.
Casos de prueba
Entrada a="volvo", b="gmail", c=5555, d="0001"
G@lvo0001
Entrada a="sherlock", b="9gag", c=31415926535, d=3
9@erlock31415926535
Entrada a="flourishing", b="+google", c=11111, d=2222
+@ourishing11111
Reglas
yes una consonante- Si decide
codes un número entero, puede analizarlo como tal, y los ceros iniciales pueden ignorarse (0091se trata como91). - Se permiten espacios en blanco al final y nuevas líneas.
- Puede enviar el resultado a STDOUT o devolver el resultado en una función.
- Personajes permitidos en
aybson[a-z0-9!@#$%^&*()_+=-]. - Puede aceptar las 4 entradas en cualquier orden consistente.
Este es el código de golf . El código más corto en bytes gana.