pengantar
Kami - terutama orang-orang aneh di antara kami, yang cenderung menjadi penggemar - semua mengingat kartun Far Side yang lama ini :
Jelas, Profesor Schwartzman dapat memoles keterampilan pemrogramannya sedikit lebih lama sebelum ia menggunakan penemuannya. Tetapi bisakah Anda mereplikasi sendiri ... menggunakan sesedikit mungkin byte?
Spesifikasi Input
Anda harus membuat skrip yang menerjemahkan suara anjing menjadi "Hei" yang dilantunkan dengan tepat. Ini adalah golf kode murni; jumlah byte terendah menang.
Input Anda akan terdiri dari beberapa kombinasi token berikut:
Bark
,Baark
,Baaark
,Baaaark
, ... (yaitu,B*rk
dengan setidaknya 1a
mengganti tanda bintang)Woof
,Wooof
,Woooof
, ... (W*f
dengan setidaknya 2o
s menggantikan tanda bintang)Grr
,Grrr
,Grrrr
, ..., (G
diikuti sedikitnya 2r
s)- Sejumlah
.
(periode),!
(tanda seru) dan / atau?
(tanda tanya) karakter, yang dapat terjadi di mana saja di input
Perhatikan, sekali lagi, bahwa token berbasis- Woof
dan Grr
berbasis selalu masing-masing membutuhkan setidaknya dua o
dan r
; Wof
dan Gr
yang tidak token valid.
Tidak ada batasan berapa lama token bisa (misalnya, berapa banyak token yang a
bisa ada dalam Bark
token); Namun, dekoder Anda hanya perlu bekerja dengan benar untuk token input hingga 10 total a
, o
s, atau r
s untuk melewati tantangan ini.
Spesifikasi Keluaran
Sesuai dengan desain Schwartzman, program dekoder anjing Anda harus memprosesnya menjadi teks keluaran sebagai berikut:
Bark
,,Woof
danGrr
menjadiHey
;Baark
,,Wooof
danGrrr
menjadiHeyy
;Baaark
,,Woooof
danGrrrr
menjadiHeyyy
; dll.- Untuk semua
Bark
token berbasis, jumlahy
s dalamHey
token berbasis keluaran harus sama dengan jumlaha
s; - Untuk semua
Woof
token berbasis, jumlahy
s dalamHey
token berbasis- keluaran harus satu lebih sedikit dari jumlaho
s; - Untuk semua
Grr
token berbasis, jumlahy
s dalamHey
token berbasis- keluaran harus satu lebih sedikit dari jumlahr
s; - Semua tanda baca (
.
,!
, dan?
) yang tersisa tidak berubah.
Ingatlah untuk menjatuhkan satu y
dari output hanya untuk Woof
dan Grr
hanya! Input Baaaaaaaark?
, dengan 8 a
detik, akan menjadi Heyyyyyyyy?
, dengan satu set 8 y
detik yang cocok. Namun, Woooooooof?
menjadi hanya Heyyyyyyy?
, dengan 7 y
detik.
Sekali lagi, jika Anda bisa membuat program Anda bekerja untuk token input dengan ukuran tidak terbatas, itu bagus, tetapi untuk tujuan tantangan ini, program Anda hanya akan diperiksa untuk memastikan bahwa itu berfungsi dengan baik untuk token input yang tidak memiliki lebih dari 10 huruf berulang .
Semua Bark
-, Woof
-, dan- Grr
token berbasis pada input Anda diasumsikan dimulai dengan huruf kapital. Oleh karena itu, tidak perlu menangani perubahan Bark grrr
menjadi Hey heyy
atau hal serupa lainnya.
Contoh Input dan Output
- Memasukkan:
Bark. Bark! Bark!!
- Keluaran:
Hey. Hey! Hey!!
- Memasukkan:
- Input:
Baaaaaark?
(enama
s) - Output:
Heyyyyyy?
(enamy
s)
- Input:
- Input:
Grrrrrrrr...
(delapanr
s) - Output:
Heyyyyyyy...
( tujuhy
s)
- Input:
- Memasukkan:
?...!
- Keluaran:
?...!
- Memasukkan:
- Memasukkan:
Wooof Woof? Grrrr. Baaaark Grr!
- Keluaran:
Heyy Hey? Heyyy. Heyyyy Hey!
- Memasukkan: