Utwórz program z najmniejszą liczbą znaków, aby odwrócić każde słowo w ciągu, zachowując kolejność słów, a także znaki interpunkcyjne i wielkie litery w ich początkowym miejscu.
Przez „Kolejność słów” rozumiem, że każde słowo jest podzielone pustą spacją („”), więc skurcze i takie będą traktowane jako jedno słowo. Apostrofa skurczów powinna pozostać w tym samym miejscu. („Don't” => „Tno'd”).
(Interpunkcja oznacza dowolne znaki, które nie są az, AZ ani białymi znakami *).
- Numery zostały usunięte z tej listy, ponieważ nie można mieć wielkich liczb. Liczby są teraz traktowane jako znaki interpunkcyjne.
Na przykład dla danych wejściowych:
Hello, I am a fish.
powinien generować:
Olleh, I ma a hsif.
Zwróć uwagę, że O, która jest pierwszą literą w pierwszym słowie, jest teraz wielką literą, ponieważ H była wcześniej wielką literą w tym samym miejscu.
Przecinek i kropka również znajdują się w tym samym miejscu.
Więcej przykładów:
This; Is Some Text!
wyszedłby
Siht; Si Emos Txet!
Można użyć dowolnego języka. Program z najmniejszą liczbą znaków wygrywa.
Don't touch that!
mapowanie dot'noD hcuot taht!
czynoD't hcuot taht!
?Nod't hcuot tath!
Odpowiedzi:
GolfScript,
585448 znakówTo rozwiązanie GolfScript stało się dość długie. Wiele kodu w rzeczywistości sprawdza, czy znak jest w a-zA-Z. Może ktoś może znaleźć jeszcze krótszy sposób na przetestowanie tego.
Możesz wypróbować kod online . Przykłady:
źródło
" "
środka,%
aby go uratować. Znalazłem inne sposoby testowania a-zA-Z dla 11 znaków, ale jeszcze nie dla 10.APL 69
Odbiera dane z ekranu za pośrednictwem: t ← ⍞
źródło
Coffeescript,
134133 znakówCoffeescript jest (dla celów golfa) nieco gęstszą wersją javascript. Nie ma potrójnego operatora, ale ma ucieczkę do javascript.
Oto wersja javascript:
JavaScript,
152151 znakówZębaty:
źródło
Rubin: 89 znaków (w tym 1 dla
-p
przełącznika)Nie kopiowane Jan Dvorak „s rozwiązanie coffeescript , ale po wielu próbach mój kod zakończony patrząc jak dokładną kopią. Podświadomy głos prawdopodobnie szeptał „podążaj
za białym królikiemJanem Dvorakiem”. Dlatego głosowanie za algorytmem powinno przejść do jego odpowiedzi.Przykładowy przebieg:
źródło
Lua, 143
źródło
EcmaScript 6 (112 znaków)
Dane wejściowe znajdują się w
s
.Na podstawie odpowiedzi @Jana Dorvaka.
źródło
C # (375)
Zminimalizowane
źródło
A-Za-z
?[A-z]
nie jest[A-Za-z]
. Pierwszy jest częstym błędem (?), Ponieważ zawiera znaki niealfabetyczne.