Wyzwanie:
Biorąc pod uwagę ciąg znaków podzielony na określone pozycje i wielką literę należy wpisać pierwszy znak danego słowa. Wielką literę pierwszego słowa używaj wielkiej litery, jeśli i tylko jeśli była już wielka
Wejście :
Ciąg si znak c.
Ouput:
Ciąg przy każdym wystąpieniu czastępowany pierwszym znakiem wielkimi literami
Przykłady:
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
Uwaga :
- Podane dane wejściowe zawsze będą ważne. tj.: Pierwszy zawsze będzie ciągiem zawierającym co najmniej jedną instancję znaku do zastąpienia. Drugi zawsze będzie pojedynczą postacią.
- Długość ciągu wejściowego będzie większa 4.
Będzie co najmniej jedno wystąpienie postaci do podziału.
Dane wejściowe z pewnością zawierają tylko litery i separator (Dzięki @Arnauld)
- Separator to wszystko, co nie jest alfabetem (az / AZ) (sugerowane przez @Dennis)
Kryteria wygranej:
To jest golf golfowy, więc wygrywa najkrótszy kod w bajtach dla każdego języka.
- Dzięki @JonathanAllan za wskazanie dwóch błędów.
., mogę sobie wyobrazić, że niektóre funkcje dzielenia łańcuchów borykają się z tym.
1). Spróbuj pomyśleć o tym, jak rozwiązania mogą zawieść, i przygotuj test dla takich sytuacji. Kilka przykładów: litery jako separatory, separator jest ostatnim znakiem, kolejne separatory i tak dalej. Nie ma potrzeby posiadania wielu przypadków testowych, które nie testują różnych rzeczy.