Derzeit gibt es ein Mem im Internet, das aus dem Aufnehmen eines Satzes, dem Umkehren der Bedeutung und dem Hinzufügen n't
am Ende besteht. Zum Beispiel I am small
wirdI am talln't
Herausforderung
Im Interesse der Herausforderung vereinfachen wir dies: Ihre Aufgabe ist es, zu erkennen, wann immer ein Satz eine Negation enthält, und diese durch die 'positive' zu ersetzen, die n't
am Ende hinzugefügt wird. Es wird einige knifflige Teile geben, die in den Regeln erklärt werden.
Regeln
- Sie müssen einen String als Eingabe nehmen und einen String als Ausgabe zurückgeben .
- Die Eingabe erfolgt in Kleinbuchstaben mit nur
.
und,
als Interpunktionszeichen. - Sie müssen eine
no <any_word>
odernot <any_word>
mit ersetzen<any_word>n't
. no
/not
Haben ein Wort und seine nicht ein Teil: Sie haben nichts zu ändern innone of those
- Wenn das Wort bereits mit einem
n
endet, müssen Sie ersetzenn't
durch't
:no plan
werdenplan't
und nichtplann't
- Wenn
no
odernot
wird von keinem Wort gefolgt, ein Satzzeichen oder ein anderesno
/not
, müssen Sie es mit ersetzenyesn't
. - zusammengesetzte Wörter zählen als ein Wort. Selbst wenn
no-op
der Teilstring enthalten istno
, enthält er nicht das Wort no. So wird das Ergebnis seinno-op
und nicht-opn't
. - Sie müssen sich nicht um Grammatikfehler kümmern. Zum Beispiel
there is no way
ergibt sich zuthere is wayn't
. - Keine Standardlücken erlaubt.
- Das ist Codegolf , also gewinnt der kürzeste Code.
Es gibt einige Beispiele, auch wenn diese Herausforderung vorerst nicht klar scheint.
Beispiele
Input: Ich liebe Codegolf, aber ich mag keine kurzen Programme. macht dieser satz sinn ... natürlich nein.
Ausgabe : Ich liebe Codegolf, aber ich mag keine kurzen Programme. Ist dieser Satz sinnvoll ... natürlich nicht.Eingabe : Sie werden nicht eingeladen. geh raus.
Ausgabe : Sie sind nicht eingeladen. geh raus.Input : Ich bin nicht in Ordnung, ich habe keinen Plan und ich habe kein Gewehr
Output : Ich bin in Ordnung, ich habe keinen Plan und ich habe keinen GewehrEingabe : oh nein nein nein ich lehne ab.
Ausgang : oh ja nicht ja nicht nicht verweigern.Eingabe : oh nein nein nein, ich lehne ab.
Ausgabe : oh ja nicht ja nicht ja nicht, ich lehne ab.Input : Ich kann das nicht glauben, du kannst nicht codegolf spielen.
Ausgabe : Ich kann das nicht glauben, du kannst nicht codegolf spielen.Input : oh nein ... er hat es wieder getan.
Output : oh ja nicht ... er hat es wieder getan.Eingabe : n't ist kein Wort, Kevin. das ist also nicht n nicht.
Ausgabe : n't ist kein Wort, Kevin. das ist also nicht nicht.Input : ist es nicht klar, nicht für alle
Output : ist es nicht klar, nicht für alleInput : Das ist nicht sinnvoll ...
Output : Das ist nicht sinnvoll ...
I am small
werdenI am bign't
?no n
Folgenn't
odern't
?no n
Dies kann dazu führen,n't
dass das Wortn
mit einem endetn
.Antworten:
Retina ,
867065 Bytes-16 Bytes dank @Neil .
-5 Bytes dank @ovs .
Probieren Sie es online aus.
Erläuterung:
quelle
L
Hier ist eine Abkürzung fürA-Z
und spart 2 BytesT`-'`AB
und umgekehrt.Python 2 ,
208123113146 BytesProbieren Sie es online!
Ich habe eine Menge Bytes verloren, weil Wörter auf
n't
oder endenn
. Entweder oder ist kürzer, aber die Bearbeitung beider war länger.quelle
JavaScript (Node.js) , 95 Byte
Probieren Sie es online!
Vielen Dank an Rick Hitchcock für 2 Bytes
quelle
Stax ,
757350 BytesFühren Sie es aus, und debuggen Sie es
quelle
Japt , 72 Bytes
Probieren Sie es online!
quelle
"yes-no maybe-so"
es produziert"yes - mayben't - so"
.Java 8,
163136 Bytes-27 Bytes durch Erstellen eines Ports mit der Antwort @recursive 's Stax' .
Probieren Sie es online aus.
quelle