9-hole mini-golf: Deskripsi
- 9 (sebagian besar cukup mudah) tantangan kode golf dari berbagai kesulitan
- Hukuman karena menggunakan bahasa yang sama lebih dari satu kali
- Semua tantangan tentang tema tertentu (tema ini: Manipulasi Teks)
- Input dan output dapat di mana saja masuk akal (yaitu STDIN dan STDOUT, membaca dari / menulis ke file, argumen fungsi dan nilai pengembalian, dll.) Tetapi TIDAK boleh di-hardcode ke dalam program
- Sangat terinspirasi oleh 9 Hole Challenge dan Text Mechanic
Lubang
Tas kode-golf
Ambil dua string sebagai input.
Keluarkan jumlah karakter string pertama, sambil mengabaikan kemunculan karakter apa pun di string kedua.
Contoh:f("foobarbaz", "ao")
=>5
Pra-teks untuk bermain golf
Ambil dua string sebagai input.
Keluarkan string pertama, dengan setiap baris diawali dengan yang kedua.
Contoh:f("foo\nbar\nbaz", "a")
=>"a foo\na bar\na baz"
Perang tab vs spasi
Ambil strings
, angkan
, dan booleanb
(ditentukan sesuka Anda) sebagai input.
Jikab
benar, outputs
dengan setiap tab dikonversi menjadin
spasi.
Lain, outputs
dengan setiapn
spasi dikonversi ke tab.
Contoh:f("if (x) {\n\tdoStuff();\n}", 4, true)
=>"if (x) {\n[sp][sp][sp][sp]doStuff();\n}"
([sp]
berarti spasi)Pilar golf
Ambil string
s
, angkan
, dan nomor lainm
sebagai input.
Outputs
dalam kolomn
setiap baris danm
karakter per kolom.
Juga memiliki bantalan satu ruang antara kolom.
Contoh:f("this is some placeholder text, foo bar baz...", 3, 5)
=>this aceho foo is so lder bar b me pl text, az...
Surat ramah
Ambil strings
dan angkan
sebagai input.
Keluarkan grupn
huruf yang paling umum dis
.
Jika ada dasi, hasilkan salah satu atau semuanya.
Contoh:f("abcdeabcfghiabc", 3)
=>"abc"
Ambil string sebagai input.Telurorak-arik surat untuk sarapan
Keluarkan string dengan semua kata-katanya diacak (urutan huruf acak) kecuali huruf pertama dan terakhir.
Untuk kesederhanaan, asumsikan bahwa input akan menjadi daftar "kata", spasi dipisahkan (yaitu dalam@$&_():;" foo bar
,@$&_():;"
dianggap sebagai "kata.")
Contoh:f("this is a sentence that will be scrambled")
=>"tihs is a stcneene that wlil be sclamrbed"
ASCIIfy
Ambil string sebagai input.
Jika string hanya berisi angka dan spasi, maka ganti angka dengan karakter ASCII masing-masing (menghapus spasi).
Lain, lakukan sebaliknya (karakter ke angka).
Contoh:f("ASCIIfy challenge")
=>"65 83 67 73 73 102 121 32 99 104 97 108 108 101 110 103 101"
Contoh 2:f("65 83 67 73 73 102 121 32 99 104 97 108 108 101 110 103 101")
=>"ASCIIfy challenge"
Transformasi mini-mini-markdown
Ambil string sebagai input.
Keluarkan string yang dikonversi dengan mini-markdown, seperti yang digunakan dalam komentar di Stack Exchange.
Ini adalah bahkan versi mini-er: Anda hanya perlu untuk menangani**bold**
,*italics*
dan`code`
.
Anda tidak perlu menangani sarang yang tidak valid, seperti**foo *bar** baz*
. Juga asumsikan bahwa ketika Anda melihat pembatas (*
atau`
), itu akan selalu berarti memformat (yaitute**st**ing
=>te<b>st</b>ing
, danfoo* bar *baz
=>foo<i> bar </i>baz
).
Contoh:f("**foo** *bar **baz*** `qux`")
=>"<b>foo</b> <i>bar <b>baz</b></i> <code>qux</code>"
Hanya karakter terbaik
Ambil strings
, angkan
, dan stringr
sebagai input.
Keluarkann
karakter th dari setiap kata dis
. (0-diindeks, kata-kata dipisahkan spasi).
Jika panjang kata kurang darin
, gunakanr
untuk kata itu.
Contoh:f("this is a test sentence foo bar baz", 2, "-")
=>"i--snorz"
Mencetak gol
Skor Anda adalah jumlah jumlah karakter dari program Anda. Untuk setiap bahasa yang diulang, kalikan dengan 110%. Misalnya, jika Anda memiliki tiga solusi Ruby, dan jumlah karakter total dari semua solusi Anda adalah 1000, skor Anda adalah 1000 * 1.1 * 1.1 = 1210. Bulatkan jika Anda memiliki skor non-integer.
Semoga berhasil!
_
tidak masalah karena saya menentukan untuk tidak memasukkannya. Saya telah mengedit untuk mengklarifikasi beberapa yang lain.
**foo***bar**baz*
?