En este desafío, escribirá un programa que toma dos cadenas separadas por una nueva línea, s1 (la primera línea) y s2 (la segunda línea), como entrada (STDIN o la más cercana). Puede suponer que la longitud de s1 siempre será menor que 30 y mayor que la longitud de s2. El programa debería generar cada paso en la distancia levenshtein de s1 a s2.
Para aclarar lo que significa cada paso en la distancia levenshtein, el programa imprimirá n cadenas, donde n es la distancia levenshtein entre s1 y s2, y la distancia levenshtein entre dos cadenas adyacentes siempre será una. El orden no importa. La salida debe estar separada por una nueva línea y no incluir s1, solo los intermedios y s2. El programa también debería ejecutarse en menos de un minuto en una computadora moderna.
Ejemplos:
Entrada:
Programming
Codegolf
Salida:
rogramming
Cogramming
Coramming
Coamming
Codmming
Codeming
Codeging
Codegong
Codegolg
Codegolf
Entrada:
Questions
Answers
Salida:
uestions
Aestions
Anstions
Ansions
Answons
Answens
Answers
Entrada:
Offline
Online
Salida:
Ofline
Online
Entrada:
Saturday
Sunday
Salida:
Sturday
Surday
Sunday
Aquí hay un enlace a un script de Python que imprime la distancia y los pasos.
Reglas adicionales:
- No uso de internet
- Se aplican lagunas estándar
Este es el código de golf, así que mantén tu código corto; el código más corto gana!
s1(newline)s2
, sin embargo, después de haber revisado la pregunta nuevamente, me pregunto si, en cambio, pretendía que el programa seleccionara s1 y s2 en función de la longitud de 2 cadenas ingresadas. en cualquier orden, ¿le importaría aclarar este punto? Es decir, ¿suponemos que la entrada es s1 seguida de s2, o seleccionamos s1 y s2 en función de la longitud de las dos entradas?Respuestas:
Javascript,
167161154 bytesLlamar con
l("Programming","golf")
Codepen
Código desgolfado (y anotado) (desactualizado pero se entiende):
fuente
s
dentroa=a[s](1)
comoa=a[s="slice"](1)
guarda algunos bytes."Programming"
->"Codegolf"
, pero debería ser 10.Haskell,
201194 bytesMás de lo esperado. Tal vez pueda jugar golf un poco ...
Ejemplo de uso:
Es una fuerza bruta que decide entre cambiar y eliminar si los caracteres iniciales difieren.
fuente