Obecnie w Internecie jest mem, który polega na zrobieniu zdania, odwróceniu znaczenia i dodaniu n't
na końcu. Na przykład I am small
staje sięI am talln't
Wyzwanie
Dla uproszczenia uprościmy to: Twoim zadaniem będzie wykrycie, gdy w zdaniu występuje zaprzeczenie, i zastąpienie go „pozytywnym” z n't
dodanym na końcu. Będą pewne trudne części, które zostaną wyjaśnione w zasadach.
Zasady
- Musisz wziąć String jako dane wejściowe i zwrócić String jako dane wyjściowe .
- Wejście będzie zdanie małymi literami , a tylko
.
i,
jako znaki interpunkcyjne. - Trzeba zastąpić dowolny
no <any_word>
lubnot <any_word>
z<any_word>n't
. no
/not
musisz być słowem, a nie podciągiem: nie musisz niczego zmieniaćnone of those
- Jeśli słowo już skończyć z
n
, trzeba wymienićn't
z't
:no plan
staćplan't
i nieplann't
- Kiedy
no
lubnot
nie następuje jakiekolwiek słowo, znak interpunkcyjny lub innyno
/not
, trzeba go zastąpićyesn't
. - słowa złożone liczą się jako jedno słowo. więc nawet jeśli
no-op
zawierają podłańcuchno
, nie zawiera słowa „ nie”. Tak więc wynik będzieno-op
i nie-opn't
. - Nie musisz się martwić błędami gramatycznymi. Na przykład
there is no way
spowodujethere is wayn't
. - Niedozwolone są standardowe luki.
- To jest codegolf , więc wygrywa najkrótszy kod.
Istnieje kilka przykładów, nawet jeśli na razie to wyzwanie nie wydaje się jasne.
Przykłady
Wejście: uwielbiam codegolfing, ale nie lubię krótkich programów. czy to zdanie ma sens ... oczywiście nie.
Wyjście: kocham kodowanie, ale nie lubię krótkich programów. czy to zdanie ma sens ... oczywiście, że nie.Wejście : nie jesteś zaproszony. wyjść.
Wyjście : nie jesteś zaproszony. wyjść.Wejście : Nie jestem w porządku, nie mam planu i nie mam Gunn
Output : jestem okn't, mam plan't i mam gunn'tDane wejściowe : o nie nie nie odmawiam.
Wyjście : o tak nie tak nie odmów.Dane wejściowe : o nie nie nie, odmawiam.
Wyjście : och tak nie tak nie tak nie, odmawiam.Wkład : nie mogę w to uwierzyć, nie możesz kodegolfa.
Wyjście : nie mogę w to uwierzyć, nie możesz kodegolfa.Wkład : och nie ... zrobił to jeszcze raz.
Wyjście : o tak nie ... zrobił to ponownie.Wejście : n nie jest słowem, Kevin. więc to nie jest nie to.
Wyjście : n nie jest słowem an't, Kevin. więc tak nie jest.Dane wejściowe : czy nie jest to jasne, nie dla wszystkich Dane
wyjściowe : czy to nie jest jasne, nie dla wszystkichDane wejściowe : to nie ma sensu ... Dane
wyjściowe : to nie ma sensu ...
I am small
się staćI am bign't
?no n
skutkowaćnn't
lubn't
?no n
może wynikać zn't
tego, że „słowo”n
kończy się nan
.Odpowiedzi:
Siatkówka ,
867065 bajtów-16 bajtów dzięki @Neil .
-5 bajtów dzięki @ovs .
Wypróbuj online.
Wyjaśnienie:
źródło
L
tutaj jest skrótA-Z
, oszczędzając 2 bajtyT`-'`AB
i na odwrót.Python 2 ,
208123113146 bajtówWypróbuj online!
Straciłem kilka bajtów z powodu słów kończących się na
n't
lubn
. Albo albo jest krótszy, ale obsługa obu była dłuższa.źródło
JavaScript (Node.js) , 95 bajtów
Wypróbuj online!
Dziękujemy Rickowi Hitchcockowi za 2 bajty
źródło
Stax ,
757350 bajtówUruchom i debuguj
źródło
Japt , 72 bajty
Wypróbuj online!
źródło
"yes-no maybe-so"
produkuje"yes - mayben't - so"
.Java 8,
163136 bajtów-27 bajtów poprzez utworzenie portu odpowiedzi Stax na @recursive .
Wypróbuj online.
źródło