Tantangan
Untuk setiap karakter string kecuali yang terakhir, lakukan hal berikut:
Keluarkan karakter saat ini.
Diikuti dengan mengeluarkan secara acak dari daftar berikut, beberapa kali antara 1 - 5 (inklusif):
- Karakter saat ini
- Karakter selanjutnya dari string
- Versi switchcase dari karakter yang Anda gunakan saat ini
- Versi switchcase dari karakter selanjutnya dari string.
Uji Kasus
String
-> SSSTSStrTrIiinIIngn
, . , . , . Hello world!
-> ,,, .. , ,, .... , , .. .. . HHH HHEeelLlLllooO wwOworOOrrrRllDd!!D
Programming Puzzles and Code Golf
-> PrPPrRrOooooogggRgGraAraaaMMMmmmimMIiininGGgG PPPPuZzZZzZzzZzllLLEEeEsEsssS a aANnNddD C COCoooOOdeDe E GGGoOllFFf
Catatan
- Anda hanya perlu menerapkan versi switchcase karakter jika karakter tersebut merupakan bagian dari alfabet (AZ dan az).
- Fungsi acak Anda tidak perlu seragam tetapi masih harus memiliki kesempatan untuk mengembalikan elemen apa pun dalam daftar yang diberikan.
- Anda diizinkan untuk menggunakan format I / O standar apa pun.
- Anda dapat mengasumsikan bahwa panjang input lebih besar atau sama dengan dua.
- Anda dapat berasumsi bahwa input hanya terdiri dari karakter ASCII.
- Judul bukan merupakan test case (tidak disengaja jika ini adalah test case yang valid).
- Switchcase artinya mengubah char menjadi huruf kecil jika huruf besar dan mengubahnya menjadi huruf besar jika huruf kecil.
String
menghasilkanSSSTSStrTrIiinIIngn
[S]SSTSS [t]rT, [r]I, [i]inII, [n]gn
mana karakter di antara blok adalah poin-poin pertama (" Keluarkan karakter saat ini "), dan karakter lainnya adalah 1-5 kali secara acak, satu dari empat pilihan untuk itu karakter. Tetapi saya setuju, beberapa penjelasan yang lebih eksplisit akan sesuai. Terlepas dari uji kasus itu tidak terlalu jelas kita harus memilih pilihan acak 1-5 kali. Alih-alih memilih pilihan acak yang diulang 1-5 kali (seperti jawaban Gaia saat ini).