9ホールミニゴルフ:説明
- さまざまな難易度の9(ほとんど簡単)コードゴルフチャレンジ
- 同じ言語を複数回使用した場合の罰則
- 特定のテーマに関するすべての課題(このテーマ:テキスト操作)
- 入力と出力はどこでも合理的です(つまり、STDINとSTDOUT、ファイルの読み取り/書き込み、関数の引数と戻り値など)。ただし、プログラムにハードコーディングしてはなりません。
- 9ホールチャレンジとテキストメカニックから大きな影響を受けた
穴
コードゴルフバッグ
入力として2つの文字列を受け取ります。
最初の文字列の文字カウントを出力しますが、2番目の文字列での文字の出現を無視します。
例:f("foobarbaz", "ao")
=>5
ゴルフの口実
入力として2つの文字列を受け取ります。
すべての行の先頭に2番目の文字列を付けて、最初の文字列を出力します。
例:f("foo\nbar\nbaz", "a")
=>"a foo\na bar\na baz"
タブとスペースの戦争
入力として strings
、numbern
、およびbooleanb
(必要に応じて指定)を受け取ります。
場合はb
trueで、出力s
のすべてのタブでは、に変換されn
た空間。
そうでなければs
、すべてのn
スペースをタブに変換して出力します。
例:f("if (x) {\n\tdoStuff();\n}", 4, true)
=>"if (x) {\n[sp][sp][sp][sp]doStuff();\n}"
([sp]
スペースを意味します)ゴルフの柱
文字列
s
、数値n
、および別の数値m
を入力として受け取ります。各行の列および列ごとの文字で
出力s
します。 また、列間に1つのスペースを埋めます。 例:=>n
m
f("this is some placeholder text, foo bar baz...", 3, 5)
this aceho foo is so lder bar b me pl text, az...
フレンドリーレター
入力として 文字列s
と数値n
を受け取ります。
で最も一般的なn
文字グループを出力しs
ます。
同点がある場合、それらの一部またはすべてを出力します。
例:f("abcdeabcfghiabc", 3)
=>"abc"
朝食のスクランブル
入力として文字列を受け取ります。エッグの手紙
文字列の最初と最後の文字を除くすべての単語をスクランブル(文字の順序をランダム化)して出力します。
簡単にするために、入力はスペースで区切られた「単語」のリストであると仮定します(つまり@$&_():;" foo bar
、@$&_():;"
は「単語」と見なされます)。
例:f("this is a sentence that will be scrambled")
=>"tihs is a stcneene that wlil be sclamrbed"
ASCIIfy
入力として文字列を受け取ります。
文字列に数字とスペースのみが含まれている場合は、数字をそれぞれのASCII文字に置き換えます(スペースを削除します)。
そうでない場合は、逆(文字から数字)を行います。
例:f("ASCIIfy challenge")
=>"65 83 67 73 73 102 121 32 99 104 97 108 108 101 110 103 101"
例2:f("65 83 67 73 73 102 121 32 99 104 97 108 108 101 110 103 101")
=>"ASCIIfy challenge"
ミニミニマークダウン変換
入力として文字列を受け取ります。
Stack Exchangeのコメントで使用されているように、ミニマークダウンで変換された文字列を出力します。
これはさえミニERバージョンです:あなただけ処理する必要がある**bold**
、*italics*
と`code`
。
のような無効なネストを処理する必要はありません**foo *bar** baz*
。また、区切り文字(*
または`
)が表示された場合、常にフォーマットすることを意味すると想定します(つまり、te**st**ing
=>te<b>st</b>ing
、およびfoo* bar *baz
=>foo<i> bar </i>baz
)。
例:f("**foo** *bar **baz*** `qux`")
=>"<b>foo</b> <i>bar <b>baz</b></i> <code>qux</code>"
最高のキャラクターのみ
入力として strings
、numbern
、およびstringr
を受け取ります。の各単語のth番目の文字を
出力n
しs
ます。(0から始まる、単語はスペースで区切られます)。
単語の長さが未満の場合n
、r
代わりにその単語に使用します。
例:f("this is a test sentence foo bar baz", 2, "-")
=>"i--snorz"
得点
スコアは、プログラムの文字数の合計です。繰り返される言語ごとに、110%を掛けます。たとえば、3つのRubyソリューションがあり、すべてのソリューションの合計文字数が1000である場合、スコアは1000 * 1.1 * 1.1 = 1210です。非整数のスコアがある場合は切り捨てます。
がんばろう!
_
私はそれを含めないように指定したので問題ではありません。他のいくつかを明確にするために編集しました。
**foo***bar**baz*
?