Actualmente hay un meme en Internet que consiste en tomar una oración, revertir el significado y agregar n't
al final. Por ejemplo, se I am small
convierteI 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't
agregada 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
/not
tiene que ser una palabra y no una subcadena: no tiene que cambiar nada ennone of those
- Si la palabra ya termina con a
n
, debe reemplazarlan't
por't
:no plan
convertirseplan't
y noplann't
- Cuando
no
onot
no 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-op
contiene la subcadenano
, no contiene la palabra no. Entonces el resultado seráno-op
y no-opn't
. - No tiene que preocuparse por los errores gramaticales. Por ejemplo,
there is no way
resultará 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 small
convertirseI am bign't
?no n
resultar ennn't
on't
?no n
podría resultarn't
porque la 'palabra'n
termina con an
.Respuestas:
Retina ,
867065 bytes-16 bytes gracias a @Neil .
-5 bytes gracias a @ovs .
Pruébalo en línea.
Explicación:
fuente
L
Aquí hay una abreviatura paraA-Z
guardar 2 bytesT`-'`AB
y viceversa.Python 2 ,
208123113146 bytesPruébalo en línea!
Perdió un montón de bytes debido a las palabras que terminan en
n't
on
. 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