Lấy cảm hứng từ điều này.
Đưa ra một chuỗi làm đầu vào chỉ bao gồm các ký tự chữ cái viết hoa và viết thường, wicka-wub nó.
Làm thế nào để tôi wicka-wub một chuỗi?
Văn bản ví dụ được sử dụng là "DJMcMayhem".
Tách chuỗi trước mỗi chữ in hoa, để bạn nhận được ["D", "J", "Mc", "Mayhem"].
Tiếp theo, lấy hai nửa của danh sách làm danh sách phụ. Điều này cho chúng ta [["D", "J"],["Mc", "Mayhem"]]. Nếu danh sách có độ dài lẻ (tức là 3), danh sách con đầu tiên sẽ chứa chuỗi con giữa (nghĩa là [[a,b], [c]]).
Tạo một danh sách wickas và wubs. Số lượng wickas nên nhiều bằng độ dài của phần đầu tiên của danh sách đầu vào (nghĩa là ["D", "J"] -> ["wicka", "wicka"]) và số lượng wubsnên bằng với độ dài của phần thứ hai của danh sách đầu vào. Trong trường hợp của chúng tôi, điều này mang lại ["wicka", "wicka", "wub", "wub"].
Bây giờ hãy tham gia các danh sách con của danh sách đầu vào thành các chuỗi đơn và làm phẳng.
Chúng tôi hiện đang có ["DJ", "McMayhem"]và ["wicka", "wicka", "wub", "wub"].
Tham gia wicka/ wubdanh sách với -s : wicka-wicka-wub-wub. Chuẩn bị a -. Nếu có nhiều chữ in hoa trong đầu vào, hãy thêm một chữ cái khác -.
Bây giờ chúng tôi có ["DJ", "McMayhem"]và "-wicka-wicka-wub-wub-".
Nối wicka-wubchuỗi vào cuối mục đầu tiên trong danh sách đầu vào, để lấy ["DJ-wicka-wicka-wub-wub-","McMayhem"].
Cuối cùng, lặp lại các ký tự trong phần thứ hai của chuỗi bằng giá trị 0 được lập chỉ mục của chúng trong chuỗi đầu vào ban đầu. Trong ví dụ của chúng tôi, điều đó có nghĩa là lần đầu tiên Msẽ được lặp lại hai lần, sau đó cba lần và Mbốn lần tiếp theo . Tham gia danh sách, vì vậy phần thứ hai (phần bạn vừa lặp lại các chữ cái trong) được thêm vào phần đầu tiên ( "DJ-wicka-wicka-wub-wub-").
Kết quả cuối cùng của đầu vào:
"DJ-wicka-wicka-wub-wub-MMcccMMMMaaaaayyyyyyhhhhhhheeeeeeeemmmmmmmmm"
Tổng số quá trình:
["D", "J", "Mc", "Mayhem"] =>
[["D", "J"], ["Mc", "Mayhem"]] =>
["DJ", "McMayhem"] and ["wicka", "wicka", "wub", "wub"] =>
["DJ", "McMayhem"] and "-wicka-wicka-wub-wub-" =>
["DJ-wicka-wicka-wub-wub-", "McMayhem"] =>
"DJ-wicka-wicka-wub-wub-MMcccMMMMaaaaayyyyyyhhhhhhheeeeeeeemmmmmmmmm"
Nhiệm vụ của bạn
Nhiệm vụ của bạn là, được đưa ra một chuỗi chỉ bao gồm các ký tự chữ cái viết hoa và viết thường, xuất ra phiên bản wicka-wubbed của chuỗi đó.
Một vài quy tắc
- Đầu vào có thể bao gồm hoàn toàn các chữ cái viết thường hoặc hoàn toàn bằng chữ in hoa hoặc bất kỳ số nào của mỗi chữ cái, nhưng không có các ký tự khác.
- Nếu đầu vào bao gồm các chữ cái hoàn toàn viết thường, đầu ra chính xác chỉ đơn giản là giai đoạn cuối cùng (chuỗi có các ký tự được lặp lại theo vị trí được lập chỉ mục 0 của chúng). Không nên có
wickahoặcwubtrong trường hợp đó. - Quy tắc tiêu chuẩn áp dụng, chương trình đầy đủ hoặc chức năng, tùy thuộc vào bạn.
- Đây là một môn đánh gôn nên mã ngắn nhất sẽ thắng.
GoodLuck-wicka-wicka-wub-GGGGGGGGooooooooollllllllllfffffffffffeeeeeeeeeeerrrrrrrrrrrrrssssssssssssss
Các trường hợp thử nghiệm
input => output
DJMcMayhem => DJ-wicka-wicka-wub-wub-MMcccMMMMaaaaayyyyyyhhhhhhheeeeeeeemmmmmmmmm
PPCG => PP-wicka-wicka-wub-wub-CCGGG
foobarbaz => fooooobbbbaaaaarrrrrrbbbbbbbaaaaaaaazzzzzzzzz
FooBarBaz => FooBar-wicka-wicka-wub-BBBBBBaaaaaaazzzzzzzz
HelloWorld => Hello-wicka-wub-WWWWWoooooorrrrrrrllllllllddddddddd
Test => Test-wicka
UPPER => UPP-wicka-wicka-wicka-wub-wub-EEERRRR
fooBarBaz => fooBar-wicka-wicka-wub-BBBBBBaaaaaaazzzzzzzz
5chữ in hoa?
foobarbazđơn giản trở lại foobarbaz? Có phần thứ hai nào không?