Thử thách :
Cho một chuỗi phân chia tại các vị trí cụ thể và viết hoa ký tự đầu tiên của từ đã cho. Viết hoa chữ cái đầu tiên của từ đầu tiên khi và chỉ khi nó đã được viết hoa
Đầu vào :
Một chuỗi s
và một nhân vật c
.
Ouput:
Chuỗi với mỗi lần xuất hiện được c
thay thế bằng ký tự char đầu tiên
Ví dụ:
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
Ghi chú :
- Cho đầu vào sẽ luôn luôn hợp lệ. tức là: Đầu tiên sẽ luôn là một chuỗi có ít nhất một thể hiện của ký tự để thay thế tại. Thứ hai sẽ luôn là một nhân vật duy nhất.
- Độ dài của chuỗi đầu vào sẽ lớn hơn 4.
Sẽ có ít nhất một lần xuất hiện của nhân vật để phân chia tại.
Đầu vào được đảm bảo chỉ chứa các chữ cái và dấu phân cách (Cảm ơn @Arnauld)
- Dấu phân cách là bất cứ thứ gì không phải là bảng chữ cái (az / AZ) (được đề xuất bởi @Dennis)
Tiêu chí chiến thắng:
Đây là mã golf để mã ngắn nhất tính theo byte cho mỗi ngôn ngữ sẽ thắng.
- Cảm ơn @JonathanAllan vì đã chỉ ra hai sai lầm.
.
, tôi có thể tưởng tượng một số hàm tách chuỗi đang vật lộn với cái đó.
1
). Cố gắng suy nghĩ về cách giải pháp có thể thất bại, và làm một trường hợp thử nghiệm cho các tình huống như vậy. Một số ví dụ: Chữ cái là dấu phân cách, dấu phân cách là ký tự cuối cùng, dấu phân cách liên tiếp, v.v. Không cần phải có nhiều trường hợp kiểm tra mà không kiểm tra những thứ khác nhau.