チャレンジ:
特定の位置で分割された文字列を指定し、指定された単語の最初の文字を大文字にします。最初の単語の最初の文字が大文字になっている場合にのみ大文字にする
入力:
文字列s
と文字c
。
出力:
出現するたびにc
最初の文字を大文字にした文字列
例:
STRING(s) CHARACTER(c) RESULT
Hello_world _ HelloWorld
me,no,like , meNoLike
you-got-it - youGotIt
Am^I^clear ^ AmIClear
go!full!caps ! goFullCaps
weird&but&tRue & weirdButTRue
ProbleM1fixed1no 1 ProbleMFixedNo
!prob!!lem!s!Olved!! ! ProbLemSOlved
注意 :
- 指定された入力は常に有効です。つまり、最初の文字列は常に、置換する文字の少なくとも1つのインスタンスを持つ文字列になります。2番目は常に単一の文字になります。
- 入力文字列の長さは4より大きくなります。
分割する文字が少なくとも1回出現します。
入力には、文字と区切り文字のみが含まれることが保証されます(@Arnauldに感謝)
- 区切り文字はアルファベットではないもの(az / AZ)(@Dennisが推奨)
受賞基準:
これはコードゴルフなので、各言語のバイト単位の最短コードが優先されます。
- 2つの間違いを指摘してくれた@JonathanAllanに感謝します。
.
を作成できますか?いくつかの文字列分割関数がこれに苦労していることが想像できます。
1
)。ソリューションがどのように失敗するかを考え、そのような状況のテストケースを作成してください。いくつかの例:セパレータとしての文字、最後の文字であるセパレータ、連続したセパレータなど。さまざまなことをテストしない多くのテストケースを用意する必要はありません。