Memasukkan
String berkode non-kosong yang terdiri dari karakter ASCII yang dapat dicetak (dalam kisaran 32-126), di mana beberapa huruf yang hilang telah diganti _
.
Keluaran
String yang diterjemahkan dengan panjang yang sama dengan semua huruf dalam huruf kecil, termasuk yang hilang.
Bagaimana?
Sunting: Seperti yang disebutkan oleh @Deusovi dalam komentar, ini adalah varian dari cipher Bacon .
- Kumpulkan semua huruf dalam string asli dan kelompokkan dengan 5. Huruf-huruf tambahan yang tidak cocok dengan kelompok penuh 5 diabaikan.
- Ubah setiap grup menjadi biner: huruf kecil = 0 , huruf besar = 1 . Ini mengarah ke daftar bilangan bulat.
- Gunakan setiap nilai N dalam daftar ini untuk menggantikan masing-masing
_
dalam string asli dengan huruf ke- N dari alfabet (0-diindeks), sesuai urutan penampilan.
Contoh: prOGraMMIng PuZZleS & cOde ____
prOGr --> 00110 --> 6 --> 7th letter = 'g'
aMMIn --> 01110 --> 14 --> 15th letter = 'o'
gPuZZ --> 01011 --> 11 --> 12th letter = 'l'
leScO --> 00101 --> 5 --> 6th letter = 'f'
Dengan mengganti huruf-huruf yang hilang dan mengubah semuanya kembali menjadi huruf kecil, string aslinya dibuka:
programming puzzles & code golf
Ini adalah output yang diharapkan.
Klarifikasi dan aturan
- Huruf-huruf yang hilang dijamin akan muncul di akhir string. Secara lebih formal: tidak akan pernah ada huruf setelah huruf pertama
_
dalam string input. Namun, mungkin ada karakter ASCII yang dapat dicetak lainnya seperti spasi dan tanda baca. - Input dijamin tidak mengandung huruf kapital yang tidak berguna : semua huruf kapital adalah bit yang diatur ke 1 yang diperlukan untuk memecahkan kode huruf yang hilang. Yang lainnya ada dalam huruf kecil.
- String input dijamin valid. Terutama:
- Itu akan selalu berisi cukup grup penuh 5 huruf untuk memecahkan kode garis bawah.
- Bilangan bulat biner-encoded dijamin berada di kisaran [0-25] .
- Mungkin tidak ada
_
sama sekali dalam string input, dalam hal ini Anda hanya perlu mengembalikan input. - Ini kode-golf , jadi jawaban tersingkat dalam byte menang!
Uji kasus
Input : hello!
Output: hello!
Input : helLO, worl_!
Output: hello, world!
Input : i aM yoUr faTh__.
Output: i am your father.
Input : prOGraMMIng PuZZleS & cOde ____
Output: programming puzzles & code golf
Input : Can YOu gUesS tHE ENd oF This ____?
Output: can you guess the end of this text?
Input : THe qUICk brown FOx JUMps oVEr the la__ ___.
Output: the quick brown fox jumps over the lazy dog.
Input : RoadS? wHERe we're goinG WE doN't need _____.
Output: roads? where we're going we don't need roads.
Input : thE greatESt Trick thE DeVIl EVer PUllEd wAs CONvInciNg tHe WorLD h_ ____'_ _____.
Output: the greatest trick the devil ever pulled was convincing the world he didn't exist.
Beberapa test case tambahan:
Input : BInar_
Output: binary
Input : 12 MonKey_
Output: 12 monkeys
Input : hyPerbolIZ__
Output: hyperbolized
Input : {[One Last Test ca__]}
Output: {[one last test case]}
_
dalam string input adalah sedikit kasus khusus.
The input is guaranteed not to contain any useless capital letter
, jika tidak ada garis bawah juga tidak akan ada huruf kapital.
[32-126]
. Saya telah menambahkan test case lain.