Nie śmiałem się z treści Stack Exchange tak dużo, jak z tego . Myślę, że wszystkim spodoba się to wyzwanie, ponieważ jest inspirowane tym, co tam jest.
Napiszesz funkcję lub program, który jest kodem do golfa, tzn. Musiałby być tak krótki, jak tylko możesz.
Biorąc pod uwagę tekst, zwróć (w jakikolwiek sposób) tekst, w którym będziesz zawierał tyle słów, ile to możliwe, zgodnie z tą tabelą .
Nie należy pobierać informacji z tabeli, a raczej musi zawierać wszystkie niezbędne informacje zawarte w kodzie.
Wszystkie zasady domyślne nie powinny być łamane, ponieważ nie będziemy mieli nieuczciwej konkurencji.
Nie musisz brać pod uwagę tekstu, jeśli nie jest pisany wielkimi literami, jak w tabeli, więc nie możesz konwertować you all WOULD not have
ani You all would not have
na y'all'dn't've
.
Możesz dopasować tylko starą dobrą apostrofę (U + 0027) lub jakąkolwiek dobrą ; cokolwiek chcesz.
Przykładowe dane wejściowe powyżej ↑ i odpowiadające im dane wyjściowe poniżej ↓
Nie śmiałem się z treści StackExchange tak bardzo, jak z tego . Myślę, że spodoba wam się to wyzwanie, ponieważ inspiruje go to, co tam jest.
Napiszesz funkcję lub program, który używa kodu w golfa, tzn. Musiałby być tak krótki, jak tylko możesz.
Biorąc pod uwagę tekst, zwróć (w jakikolwiek sposób) tekst, w którym zakontraktowano jak najwięcej słów zgodnie z tą tabelą .
Nie należy pobierać informacji z tabeli, a raczej musi zawierać wszystkie niezbędne informacje zawarte w kodzie.
Wszystkie domyślne zasady nie powinny być łamane, ponieważ nie będziemy mieli nieuczciwej konkurencji.
Nie musisz brać pod uwagę tekstu, jeśli nie jest pisany wielkimi literami, jak w tabeli, więc nie możesz konwertować you all WOULD not have
ani You all would not have
na y'all'dn't've
.
Możesz dopasować tylko dobrą starą apostrofę (U + 0027) lub dowolną fajną ; cokolwiek chcesz.
Odpowiedzi:
Perl,
34291095 bajtówSkompresował tekst.
nieokodowana wersja skryptu
źródło
perl -p0 s1-golfed.pl
aby pozbyć się owiniętej pętli while:$/="\n";for$d(<DATA>){($x)=$d=~/(.*),(.*)\b/;s/$2/$x/g}
$x
:for$d(<DATA>){$d=~s~(.*),(.*)\b~"s/$2/$1/g"~eeg}