Sorun
Ormanın ortasındaki bir kabinde sıkışıp kalıyorsun, sadece kendini eğlendirmek için eski bir hurda takımı ayarlanmış. İncelemenin ardından scrabble harflerin o kadar yıpranmış olduğunu, sadece her harf için olanların görülebildiğini görüyorsunuz.
Yine de bir oyun oynamaya karar veriyorsun. Torbadan yedi harf alıyorsunuz ve onları tepsinize koyuyorsunuz, zorluğunuz bu harflerin ne olabileceğini belirlemektir.
Genelde, bir nokta listesi verilen herhangi bir dize veya harf listesine dönüştürün.
Scrabble Fayans ve Dağılımları
- 2 boş karo (0 puan)
- 1 puan: E × 12, A × 9, I × 9, O × 8, N × 6, R × 6, T × 6, L × 4, S × 4, U × 4
- 2 puan: D × 4, G × 3
- 3 puan: B × 2, C × 2, M × 2, P × 2
- 4 puan: F × 2, H × 2, V × 2, G × 2, Y × 2
- 5 puan: K × 1
- 8 puan: J × 1, X × 1
- 10 puan: Q × 1, Z × 1
Eğer bir puan listeniz varsa, [10,10,8,5,1,1,1]
o "QZJKEEE"
zaman geçerli olur, ancak geçerli "QQJKEEE"
olmaz (çantada sadece 1 Q kiremit olduğundan)
Soruna Özel Kurallar
- Tüm girdilerin geçerli olduğunu ve her zaman 7 fayans olacağını varsayabilirsiniz (yani, yedi 10 punto fayans listesi olmayacak ve 9 fayans olmayacaktır).
- Daha önce torbadan çini çekilmediğini varsayabilirsiniz (bu nedenle dağıtım yukarıda tanımlandığı şekilde ingilizce çinilerin standart dağılımıdır)
- Geçerli bir kelime, sadece geçerli bir harf dizesi oluşturmak zorunda değilsiniz.
- İpinizin sırası, her bir kiremit için karşılık gelen bir harf olduğu sürece önemsizdir.
- Puanlar, yukarıda tanımlandığı şekilde standart ingilizce scrabble döşeme puanlarına dayanmaktadır.
- Büyük veya küçük harflerle çıktı alabilirsiniz; boş bir döşeme için boşluk karakteri ya da alt çizgi '_' çıktısı alabilirsiniz.
- Cevabınız Liste, Dize, Dizi veya Sıra gibi döşemelerin herhangi bir makul gösterimi olarak verilebilir.
Genel kurallar:
- Bu kod golf , bayt cinsinden en kısa cevap kazanır.
Code-golf dillerinin, codegolfing olmayan dillerle cevap göndermekten vazgeçmesine izin vermeyin. Herhangi bir programlama dili için mümkün olduğunca kısa bir cevap bulmaya çalışın. - Standart G / Ç kurallarına cevabınız için standart kurallar geçerlidir , bu nedenle STDIN / STDOUT işlevlerini, uygun parametreleri içeren fonksiyonlar / yöntemleri ve dönüş tipini, tam programları kullanmanıza izin verilir. Senin çağrı.
- Varsayılan Loopholes yasaktır.
- Mümkünse, lütfen kodunuzu test eden bir bağlantı ekleyin (ör. TIO ).
- Ayrıca, cevabınız için bir açıklama eklemek şiddetle tavsiye edilir.
Test Kılıfları
Açıkçası, olası herhangi bir değeri verebildiğiniz için sıkı test durumları tanımlamak zordur.
Olası bir geçerli dönüş değeri olan bazı durumlar :
[10,0,10,5,8,8,0] -> "Q ZKJX "
[1,1,1,1,1,1,1] -> "EEEEEEE"
[1,2,3,4,5,8,0] -> "NDBHKJ "
[2,2,2,2,2,2,2] -> "DGDGDGD"
Geçersiz dönüş değeri olan bazı durumlar :
[10,0,10,5,8,8,0] -> "Q QKJX " - Too many Qs
[1,1,1,1,1,1,1] -> "EEEEEE " - Space is 0 points not 1
[1,2,3,4,5,8,0] -> "NDBH" - Too short
[1,2,3,4,5,8,0] -> "NDBHKJ I" - Too long
[1,2,3,4,5,8,0] -> "ÉDBHKJ1" - Contains none scrabble characters
[2,2,2,2,2,2,2] -> "GDGDGDG" - Contains too many Gs (case for invalid cycling)
[2,2,2,2,2,2,2]
( bir bisiklet yöntemi kullanılıyorsa D
ziyade başlamanın önemli olduğu tek durum G
)