9 delikli mini golf: Açıklama
- 9 (çoğunlukla oldukça kolay) kod değişikliğinde zorluklarla mücadele zorlukları
- Aynı dili bir defadan fazla kullanmanın cezaları
- Belirli bir tema ile ilgili tüm zorluklar (bu tema: Metin İşleme)
- Giriş ve çıkış makul herhangi bir yerde olabilir (örn. STDIN ve STDOUT, bir dosyadan / dosyadan okuma, fonksiyon argümanı ve dönüş değeri, vb.), Ancak programa kodlanmamalıdır
- 9 Delik Görevi ve Metin Mekaniğinden esinlenerek
delikler
Kod golf çantası
Giriş olarak iki karakter atın.
İkinci dizgede herhangi bir karakterin varlığını göz ardı ederek ilk dizginin karakter sayısını çıktılar.
Örnek:f("foobarbaz", "ao")
=>5
Golf için bir ön metin
Giriş olarak iki karakter atın.
İlk dizgeyi, her satırın ikincisiyle birlikte alınmasını sağlayın.
Örnek:f("foo\nbar\nbaz", "a")
=>"a foo\na bar\na baz"
Tablar Savaşı vs boşluk
Girdi olarak bir dizes
, sayın
ve bir booleb
(istediğiniz şekilde belirtilmiş) atın .
Eğerb
doğruysa, çıkışs
her sekme ile dönüştürüldün
boşluklar.
Aksi halde, sekmelere dönüştürülmüşs
hern
boşlukla birlikte çıktı alın .
Örnek:f("if (x) {\n\tdoStuff();\n}", 4, true)
=>"if (x) {\n[sp][sp][sp][sp]doStuff();\n}"
([sp]
boşluk demektir)Golf ayağı
Girdi olarak bir dize
s
, sayın
ve başka bir sayı alınm
.
Çıkışs
sütunlarından
hatları her biri, birbirindenm
kolon başına karakter.
Ayrıca sütunlar arasında bir boşluk doldurun.
Örnek:f("this is some placeholder text, foo bar baz...", 3, 5)
=>this aceho foo is so lder bar b me pl text, az...
Dost mektuplar
Girdi olarak bir dizes
ve bir sayı alınn
.
En yaygınn
harf grubunu çıktıs
.
Bir kravat varsa, bunların herhangi birini veya tümünü çıkartın.
Örnek:f("abcdeabcfghiabc", 3)
=>"abc"
Kahvaltı için sahanda
Giriş olarak bir dize atın.yumurtaharfler
İlk ve son harfleri hariç, dizelerinin tümü karıştırılmış (harf sırasına randomize) yazılan kelimelerle birlikte çıkın.
Basit olması için, girişin boşlukla ayrılmış (yani@$&_():;" foo bar
,@$&_():;"
bir "kelime" olarak kabul edilir) "kelime" lerin bir listesi olacağını varsayalım .
Örnek:f("this is a sentence that will be scrambled")
=>"tihs is a stcneene that wlil be sclamrbed"
ASCIIfy
Giriş olarak bir dize atın.
Dize yalnızca sayılar ve boşluklar içeriyorsa, sayıları ilgili ASCII karakterleriyle değiştirin (boşlukları kaldırarak).
Aksi takdirde, tersini yapın (karakterlerden sayılara).
Örnek:f("ASCIIfy challenge")
=>"65 83 67 73 73 102 121 32 99 104 97 108 108 101 110 103 101"
Örnek 2:f("65 83 67 73 73 102 121 32 99 104 97 108 108 101 110 103 101")
=>"ASCIIfy challenge"
Mini-mini markdown dönüşümü
Giriş olarak bir dize atın.
Stack Exchange ile ilgili yorumlarda kullanıldığı gibi mini markdown ile dönüştürülen dizgeyi çıktılayın.
Bu daha da mini er sürümü: Yalnızca işlemek gerekir**bold**
,*italics*
ve`code`
.
Gibi geçersiz iç içe geçme işlemine gerek yoktur**foo *bar** baz*
. Ayrıca bir sınırlayıcı (*
veya`
) gördüğünüzde , her zaman biçimlendirmenin (yanite**st**ing
=>te<b>st</b>ing
, vefoo* bar *baz
=>foo<i> bar </i>baz
) geleceğini varsayalım .
Örnek:f("**foo** *bar **baz*** `qux`")
=>"<b>foo</b> <i>bar <b>baz</b></i> <code>qux</code>"
Sadece en iyi karakterler
Girdi olarak bir dizes
, sayın
ve dize alınr
.
Çıktın
her kelimenin inci karakters
. (0 dizinli, kelimeler boşlukla ayrılmıştır).
Kelimenin uzunluğu daha azsan
,r
bunun yerine o kelimeyi kullanın.
Örnek:f("this is a test sentence foo bar baz", 2, "-")
=>"i--snorz"
puanlama
Puanınız, programlarınızın karakter sayısının toplamıdır. Her tekrarlanan dil için,% 110 ile çarpın. Örneğin, üç Ruby çözümünüz varsa ve tüm çözümleriniz için toplam karakter sayısı 1000 ise, puanınız 1000 * 1.1 * 1.1 = 1210'dur. Tam sayı olmayan bir puanınız varsa, tamamlama.
İyi şanslar!
_
dahil etmemeyi belirttiğimden beri önemli değil. Diğerlerini açıklığa kavuşturmak için düzenleme yaptım.
**foo***bar**baz*
?