Giriş
Bazı eksik harflerin değiştirildiği, yazdırılabilir ASCII karakterlerinden (32-126 aralığında) oluşan boş olmayan kodlanmış bir dize _
.
Çıktı
Eksik harfler de dahil olmak üzere küçük harflerle tüm harflerle aynı uzunluktaki kodu çözülmüş bir dize.
Nasıl?
Düzenleme: Yorumlarda @Deusovi tarafından belirtildiği gibi, bu Bacon'un şifresinin bir çeşididir .
- Tüm harfleri orijinal dizgide toplayın ve bunları 5'e göre gruplandırın. 5'in tam grubuna uymayan ek harfler yoksayılır.
- Her grubu ikiliye dönüştürün: küçük harf = 0 , büyük harf = 1 . Bu bir tamsayı listesine yol açar.
- Orijinal dizideki her birini görünüm sırasına göre alfabenin N harfi ile (0 indeksli) değiştirmek için bu listedeki her N değerini kullanın .
_
Örnek: 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'
Eksik harfleri değiştirip her şeyi küçük harfe dönüştürerek, orijinal dizge açıklanır:
programming puzzles & code golf
Beklenen çıktı budur.
Açıklamalar ve kurallar
- Eksik harflerin dizenin sonunda görünmesi garanti edilir. Daha resmi olarak:
_
Giriş dizesindeki birinciden sonra hiçbir zaman bir harf olmaz . Ancak, boşluklar ve noktalama işaretleri gibi yazdırılabilir başka ASCII karakterleri olabilir. - Girişin işe yaramaz herhangi bir büyük harf içermemesi garantilidir : tüm büyük harfler , eksik harflerin kodunu çözmek için gerekli olan 1'e ayarlanan bitlerdir. Geriye kalan her şey küçük harflerle yazılmıştır.
- Giriş dizesinin geçerli olduğu garanti edilir. Özellikle:
- Alt çizgi kodunu çözmek için her zaman 5 harften oluşan tam gruplar içerecektir.
- İkili kodlanmış tam sayıların [0-25] aralığında olması garanti edilir .
_
Giriş dizgisinde hiç bir şey olmayabilir , bu durumda girişi geri döndürmeniz gerekir.- Bu kod golf , yani bayt cinsinden en kısa cevap kazanır!
Test durumları
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.
Bazı ekstra test durumları:
Input : BInar_
Output: binary
Input : 12 MonKey_
Output: 12 monkeys
Input : hyPerbolIZ__
Output: hyperbolized
Input : {[One Last Test ca__]}
Output: {[one last test case]}
_
giriş dizgisinde hiçbir kural bulunmadığı zamanki kural biraz özel bir durumdur.
The input is guaranteed not to contain any useless capital letter
, alt çizgi olmazsa, büyük harf de olmaz.
[32-126]
. Başka bir test davası ekledim.