Na stronie http://shakespeare.mit.edu/ można znaleźć pełny tekst każdej sztuki Szekspira na jednej stronie (np. Hamleta ).
Napisz skrypt, który pobiera adres URL gry ze standardowego wejścia, taki jak http://shakespeare.mit.edu/hamlet/full.html , i wyświetla liczbę znaków tekstowych, z którymi każda postać odtwarzana przemawiała na standardowe wyjście, posortowane według tego, kto mówił najwięcej.
Tytuły dramatu / sceny / aktu oczywiście nie liczą się jako dialog, podobnie jak imiona bohaterów. Tekst pisany kursywą i [tekst w nawiasach kwadratowych] nie są dialogami, nie należy ich liczyć. Należy liczyć spacje i inne znaki interpunkcyjne w dialogu.
(Format przedstawień wygląda na bardzo spójny, choć nie oglądałem ich wszystkich. Powiedz mi, czy coś przeoczyłem. Twój skrypt nie musi działać dla wierszy.)
Przykład
Oto część symulowana z dużo hałasu o niczym, aby pokazać, czego oczekuję od wyników:
Więcej hałasu o nic
Scena 0.
Posłaniec
Będę.
BEATRICE
Robić.
LEONATO
Ty nigdy.
BEATRICE
Nie.
Oczekiwany wynik:
LEONATO 15
Messenger 7
BEATRICE 6
Punktacja
To jest kod golfowy. Wygra najmniejszy program w bajtach.
Odpowiedzi:
PHP (240 znaków)
Dzieli html na ciągi znaków (używając jako ogranicznik), a następnie uruchamia kilka wyrażeń regularnych w celu wyodrębnienia wypowiedzianych nazw i słów. Oszczędza długość słów wypowiadanych w tablicy. Gra w golfa:
Nie golfowany:
Uwaga: uważa to wszystko za osobny znak.
Przykład:
źródło
REBOL -
556527Prawdopodobnie można to pograć w golfa, jednak jest mało prawdopodobne, aby uzyskać odpowiedź poniżej podaną już:
Nie golfowany:
Ten program usuwa [tekst w nawiasach kwadratowych], a także przycina otaczające białe znaki z okna dialogowego. Bez tego wynik jest identyczny z odpowiedzią es1024 .
Przykład:
źródło
Common Lisp - 528
Wyjaśnienie
Jest to nieco zmodyfikowana wersja, która dodaje informacje o drukowaniu (patrz wklej).
Notatki
Usuwam tekst w nawiasach, a także wystąpienie „na bok:”, które nie występuje w nawiasach (usuwam również białe znaki). Oto ślad wykonania z dopasowanym tekstem i sumą dla każdego znaku, dla Hamleta .
Podobnie jak inne odpowiedzi, zakłada się , że Wszystko jest postacią. Dodanie wartości wszystkich do wszystkich innych postaci może być kuszące, ale byłoby to niepoprawne, ponieważ „Wszystko” odnosi się do postaci faktycznie obecnych na scenie, co wymaga zachowania kontekstu obecności (śledzenie „wyjścia”) „i„ wprowadź ”). To nie jest zrobione.
źródło