Sansürler, iç ağlarda kullanılan yaygın bir araçtır. Ancak genellikle kelimenin çok fazla sansürlenirler ve böylece lanetlerini okuyucuya belirsiz hale getirirler. Ve bazen yeterince sansürlemiyorlar, bu yüzden kelimeler hala rahatsız edici. Göreviniz bunu düzeltmektir.
Senin görevin
İki liste ve bir dize alan bir program / işlev / ne olursa olsun yazın. İlk liste gibi dildeki tüm kelimelerin sözlük olacaktır: ["hello", "goodbye", "belgium", "offensive", "jumping", "hypercool"]
. Bir sonraki tümünü içeren ilk listenin alt küme edilecektir saldırgan dilde kelime: ["belgium", "offensive"]
. Bu listelerdeki kelimelerin yalnızca alfabedeki küçük harfleri içermesi garanti edilir.
Dize, sansürlemek zorunda kalacağınız ifadedir. Bu, sözlükten boşluklarla ayrılmış sözcüklerden oluşacaktır:"Goodbye offensive belgium"
Dönüş değeri sansürlenen cümle olacaktır. Ancak, belli bir şekilde sansürlemeniz gerekir. Özellikle, rahatsız edici listedeki her kelime için , ana sözlükte tam olarak açık kalırken mümkün olduğunca çok harf sansürlemeniz gerekir . Yani burada olurdu: Goodbye o******** b******
.
Açıklamalar
- Kodunuzun kelimeleri büyük / küçük harfe duyarlı olmayan şekilde yorumlaması gerekir, ancak ilk büyük harfle geri döner.
- Birden fazla en uygun cevap varsa, bunlardan herhangi birini seçin.
- Belirsiz sansür mümkün değilse, mümkün olan en az sayıda başka yorumu olan tek bir harfi sansürleyin (eğer birden fazla mümkünse, yine bu seçimdir).
Test Durumları
["hello", "goodbye", "belgium", "offensive", "jumping", "hypercool"] ["belgium", "offensive"] "Goodbye offensive belgium" -> "Goodbye o******** b******"
["word"] ["word"] "word" -> "****"
["hot", "hat", "bat", "had"] ["hat"] "hat" -> "*at" or "h*t" or "ha*"
https://gist.github.com/deekayen/4148741 ["quart"] "I am a quart" -> "I am a q**r*"
Bu kod-golf çok kısa bayt kazanır d * mn kodu kazanır!
PS Belçika ile referans yakalayan var mı? P
["hello", "goodbye", "belgium", "offensive"] ["belgium", "offensive"] "Goodbye offensive belgium" -> "Goodbye o******** b******"
ama test senaryoları["hello", "goodbye", "belgium", "offensive"] ["belgium", "offensive"] "Goodbye offensive belgium" -> "Goodbye offensive b******"
Test senaryosu yanlış, doğru mu?