Meydan okuma:
Müzik koleksiyonumda binlerce şarkı var ve neyse ki benim için en sevdiğim oyuncunun bir arama fonksiyonu var. Ayrıca harika bir anım var - koleksiyonumdaki her şarkının adını hatırlıyorum. Ancak, çok tembelim ve yazmayı sevmiyorum - her ekstra tuş vuruşu bir angarya!
- Bir şarkıyı ayırmak için aramam gereken en kısa dize nedir? Arama yaparken yazmayı en aza indirmek için kullanabileceğim tuşların listesini ezberlememe yardım et!
Bu kod golf , bu yüzden en kısa kod kazanır.
Kurallar:
Şarkı adlarının bir girdi listesi verildiğinde, aşağıdaki kısıtlamalara tabi arama anahtarlarının bir listesini oluşturun:
- Her şarkı başlığının bir arama tuşu olmalıdır.
- Çıktı listesindeki toplam karakter sayısı mümkün olduğunca az olmalıdır.
- En sevdiğim müzik çalarım foobar2000 :
- Arama işlevi büyük / küçük harfe duyarlı değildir. (
apple
ile aynıdıraPpLE
). - Her arama anahtarı, herhangi bir sırada boşlukla ayrılmış bir veya daha fazla "kelimeden" oluşmalıdır:
- Her kelime , karşılık gelen şarkı başlığının bir alt dizesi olmalıdır .
- Aynı alt dize birden çok kez belirtilirse, karşılık gelen şarkı başlığında birçok kez gerçekleşmelidir.
- Bir alt dizenin kendisi boşluk içeriyorsa, o alt dizenin tırnak işaretleri içine alınması gerekir.
- Arama işlevi büyük / küçük harfe duyarlı değildir. (
İpuçları:
- Çoğu zaman, bazı şarkı başlıkları için kural 2'yi karşılayan birden fazla arama tuşu vardır. Böyle bir durumda, herhangi bir anahtar yapar, ancak hepsini listelemek için brownie puanları alırsınız.
- Giriş listesinin yalnızca ASCII karakterleri olacağını, ancak UTF-8 uyumluluğu için kek puanları verileceğini varsayabilirsiniz.
- Kural 3'ü takip etmek zor muydu? Şöyle çalışır:
Misal:
Müzik koleksiyonum sadece iki albümden oluşuyorsa, Michael Jackson'ın Duvardan Çıkması ve Gerilim :
Programınızı test etmek için yukarıdaki listeleri kullanabilirsiniz. İkinci listenin ham versiyonu:
["Don't Stop 'Til You Get Enough","Rock with You","Working Day and Night","Get on the Floor","Off the Wall","Girlfriend","She's out of My Life","I Can't Help It","It's the Falling in Love","Burn This Disco Out","Wanna Be Startin' Somethin'","Baby Be Mine","The Girl Is Mine","Thriller","Beat It","Billie Jean","Human Nature","P.Y.T. (Pretty Young Thing)"]
["Wanta Be A Wanna B","Wanta Bea A Wanna B","Wanna Be A Wanna Bea"]
?