Actualmente hay un meme en Internet que consiste en tomar una oración, revertir el significado y agregar n'tal final. Por ejemplo, se I am smallconvierteI am talln't
Desafío
En aras del desafío, simplificaremos esto: su tarea será detectar cada vez que haya una negación en una oración, y reemplazarla con la 'positiva' n'tagregada al final. Habrá algunas partes difíciles que se explicarán en las reglas.
Reglas
- Debe tomar una cadena como entrada y devolver una cadena como salida .
- La entrada será una oración en minúsculas , con solo .y,como signos de puntuación.
- Tienes que reemplazar cualquiera no <any_word>onot <any_word>con<any_word>n't.
- no/- nottiene que ser una palabra y no una subcadena: no tiene que cambiar nada en- none of those
- Si la palabra ya termina con a n, debe reemplazarlan'tpor't:no planconvertirseplan'ty noplann't
- Cuando noonotno le sigue ninguna palabra, un signo de puntuación u otrono/not, debe reemplazarlo poryesn't.
- Las palabras compuestas cuentan como una sola palabra. así que incluso si no-opcontiene la subcadenano, no contiene la palabra no. Entonces el resultado seráno-opy no-opn't.
- No tiene que preocuparse por los errores gramaticales. Por ejemplo, there is no wayresultará enthere is wayn't.
- No se permiten lagunas estándar.
- Este es codegolf , por lo que gana el código más corto.
Hay algunos ejemplos, incluso si este desafío parece claro, no por ahora.
Ejemplos
Entrada: me encanta codegolfing, pero no me gustan los programas cortos. ¿Tiene sentido esta oración ... por supuesto que no.
Salida: me encanta codegolfing, pero no me gustan los programas cortos. ¿Tiene sentido esta oración ... por supuesto que no.Entrada : no estás invitado. Sal.
Salida : no estás invitado. Sal.Entrada : no estoy bien, no tengo plan y no tengo pistola
Salida : no estoy bien, tengo plan y no tengo pistolaEntrada : oh no no no me niego.
Salida : oh sí, no sí, no en rechazar.Entrada : oh no no no, me niego.
Salida : oh sí no sí no sí no, me niego.Entrada : no puedo creer esto, no puedes codegolf.
Salida : no puedo creer esto, no puedes codegolf.Entrada : oh no ... lo hizo de nuevo.
Salida : oh sí, no ... lo hizo de nuevo.Entrada : nn't no es una palabra, Kevin. así que esto no es así.
Salida : no es una palabra, Kevin. así que esto no es así.Entrada : ¿no está claro para todos?
Salida : ¿no está claro para todos?Entrada : esto no tiene sentido ...
Salida : esto no tiene sentido ...

I am smallconvertirseI am bign't?no nresultar ennn'ton't?no npodría resultarn'tporque la 'palabra'ntermina con an.Respuestas:
Retina ,
867065 bytes-16 bytes gracias a @Neil .
-5 bytes gracias a @ovs .
Pruébalo en línea.
Explicación:
fuente
LAquí hay una abreviatura paraA-Zguardar 2 bytesT`-'`ABy viceversa.Python 2 ,
208123113146 bytesPruébalo en línea!
Perdió un montón de bytes debido a las palabras que terminan en
n'ton. Cualquiera o es más corto, pero manejar ambos fue más largo.fuente
JavaScript (Node.js) , 95 bytes
Pruébalo en línea!
Gracias Rick Hitchcock por 2 bytes
fuente
Stax ,
757350 bytesEjecutar y depurarlo
fuente
Japt , 72 bytes
Pruébalo en línea!
fuente
"yes-no maybe-so", produce"yes - mayben't - so".Java 8,
163136 bytes-27 bytes creando un puerto de respuesta de @recursive 's Stax' .
Pruébalo en línea.
fuente