Meydan okuma:
girişler:
- Yazdırılabilir ASCII içeren bir dize (boşluklar, sekmeler ve yeni satırlar hariç)
- Bir boolean †
Çıktı:
Dizenin parçaları dört gruba ayrılır:
- Küçük harfler
- Büyük harfler
- Rakamlar
- Diğer
Boole'ye dayanarak, bu dört gruptan birinin (veya birden fazlasının) en yüksek oluşumunu veya en düşük olanını, diğer her şeyi boşluklarla değiştirerek çıkarırız.
Örneğin:
Girdi: "Just_A_Test!"
Şunları içerir:
- 3 büyük harf: JAT
- 6 küçük harf: ustest
- 0 rakam
- 3 diğer:__!
Bunlar trueveya için çıktılar olacaktır false:
true: " ust est "
// digits have the lowest occurrence (none), so everything is replaced with a space
false: " "
(Not: Sondaki boşlukları " ust est"ve ""sırasıyla izleyen boşlukları yok saymanıza izin verilir .)
Zorluk kuralları:
- Giriş asla boş olmayacak veya boşluk içermeyecek ve yalnızca aralıktaki
33-126veya'!'içinden yazdırılabilir ASCII'den oluşacaktır'~'. - İsterseniz, giriş ve / veya çıkışları karakter dizisi veya liste olarak alabilirsiniz.
- † Boole için tutarlı ve farklı iki değere izin verilir:
true/false;1/0;'H'/'L';"highest"/"lowest"; Bu farklı değerlerin (bir şekilde) bir boole olarak kullanılması gerektiğini unutmayın! Bu nedenle, biri için doğru sonucutruediğeri için doğru sonucu veren vefalseyalnızca gerçek kodunuzun olması için iki tam program girilmesine izin verilmez<run input with parameter>. Eklediğim ilgili yeni varsayılan boşluk, tanımlarla ilgili hala çok fazla finetuning kullanabilir. - İki veya daha fazla grubun oluşumu aynı ise, tüm bu oluşumları çıkarırız.
- Gerekli sondaki boşluklar isteğe bağlıdır ve tek bir sondaki yeni satır da isteğe bağlıdır. Gerekli önde gelen alanlar zorunludur. Ve diğer önde gelen alanlara veya yeni satırlara izin verilmez.
Genel kurallar:
- Bu kod golf , bayt en kısa cevap kazanır.
Kod golf dillerinin, kod yazmayan dillerle yanıt göndermenizi engellemesine izin vermeyin. 'Herhangi bir' programlama dili için mümkün olduğunca kısa bir cevap bulmaya çalışın. - Cevabınız için standart kurallar geçerlidir , bu nedenle STDIN / STDOUT, fonksiyon / yöntemi uygun parametrelerle, tam programları kullanmanıza izin verilir. Çağrınız.
- Varsayılan Loopholes yasaktır.
- Mümkünse, lütfen kodunuz için test içeren bir bağlantı ekleyin.
- Ayrıca, gerekirse bir açıklama ekleyin.
Test senaryoları:
Inputs: Output:
"Just_A_Test!", true " ust est " (or " ust est")
"Just_A_Test!", false " " (or "")
"Aa1!Bb2@Cc3#Dd4$", either "Aa1!Bb2@Cc3#Dd4$"
"H@$h!n9_!$_fun?", true " @$ ! _!$_ ?"
"H@$h!n9_!$_fun?", false "H 9 " (or "H 9")
"A", true "A"
"A", false " " (or "")
"H.ngm.n", true " ngm n"
"H.ngm.n", false " " (or "")
"H.ngm4n", false "H. 4 " (or "H. 4")
Hve 9"en az" ın bir parçasıdır.
"max"/ olabilir "min", bu daha sonra Math[b]referans olarak kullanılır Math.maxveya Math.min?
b?"max":"min"cevabınızı saklamanız gerekecek .. Sanırım güzel bir çizgi, belki de bir dahaki sefere gerçek / falsey değeri kullanmalıyım ..
"H "ve" 9 "(uygun boşluklarla) yerine çıktı alınabilir"H 9"mi?