Di http://shakespeare.mit.edu/ Anda dapat menemukan teks lengkap dari setiap drama Shakespeare di satu halaman (misalnya Hamlet ).
Tulis skrip yang mengambil url lakon dari stdin, seperti http://shakespeare.mit.edu/hamlet/full.html , dan tampilkan jumlah karakter teks yang setiap karakter lakon dibicarakan dengan stdout, disortir berdasarkan siapa berbicara paling banyak.
Judul play / scene / act jelas tidak dihitung sebagai dialog, begitu pula nama karakternya. Teks yang dicetak miring dan [teks kurung siku] bukan dialog yang sebenarnya, mereka tidak harus dihitung. Spasi dan tanda baca lain dalam dialog harus dihitung.
(Format untuk lakon-lakonnya terlihat sangat konsisten meskipun saya belum melihat semuanya. Katakan padaku jika saya mengabaikan sesuatu. Naskah Anda tidak harus berfungsi untuk puisi-puisi itu.)
Contoh
Ini adalah bagian simulasi dari Much Ado About Nothing untuk menunjukkan apa yang saya harapkan untuk hasil:
Ado Lagi Tentang Tidak Ada
Adegan 0.
Kurir
Aku akan.
BEATRICE
Melakukan.
LEONATO
Kamu tidak akan pernah.
BEATRICE
Tidak.
Output yang diharapkan:
LEONATO 15
Messenger 7
BEATRICE 6
Mencetak gol
Ini golf kode. Program terkecil dalam byte akan menang.
Jawaban:
PHP (240 karakter)
Membagi html menjadi string (menggunakan sebagai delimeter), kemudian menjalankan beberapa ekspresi reguler untuk mengekstrak nama dan kata-kata yang diucapkan. Menghemat panjang kata yang diucapkan ke dalam array. Golf:
Tidak Disatukan:
Catatan: Ini menganggap 'Semua' sebagai karakter yang terpisah.
Contoh:
sumber
Rebol -
556527Ini mungkin bisa di-golf lebih lanjut tetapi tidak mungkin untuk mendapatkan di bawah jawaban yang sudah disediakan :(
Tidak Disatukan:
Program ini menghapus [teks kurung kurawal] dan juga memotong whitespace sekitar dari dialog. Tanpa ini, output identik dengan jawaban es1024 .
Contoh:
sumber
Gangguan Umum - 528
Penjelasan
Ini adalah versi yang sedikit dimodifikasi yang menambahkan informasi pencetakan (lihat tempel).
Catatan
Saya menghapus teks tanda kurung serta kejadian "samping:" yang tidak ada dalam tanda kurung (saya juga memangkas karakter spasi putih). Berikut adalah jejak eksekusi dengan teks yang cocok dan total untuk setiap karakter, untuk Hamlet .
Sebagai jawaban lain, Semua diasumsikan sebagai karakter. Mungkin tergoda untuk menambahkan nilai semua ke semua karakter lain, tetapi ini tidak benar karena "Semua" mengacu pada karakter yang benar-benar ada di panggung, yang mengharuskan untuk menjaga konteks siapa yang hadir (melacak "keluar" "exeunt "dan" masukkan "indikasi). Ini belum selesai.
sumber