Bạn đang cung cấp hỗ trợ kỹ thuật để các Bruce Dickenson khi ông tạo ra một buổi thu âm Blue Oyster Cult. Khi anh ta yêu cầu thêm chuông , bạn có thể đưa nó cho anh ta.
Nhiệm vụ của bạn
Viết chương trình hoặc hàm lấy một chuỗi (hoặc tương đương trong ngôn ngữ của bạn) làm đầu vào và xuất ra một chuỗi có liên quan có chứa thêm một chuông.
Một chuỗi có bao nhiêu chuông?
Số lượng chuông của một chuỗi chứa bằng số lượng tối đa các bản sao riêng biệt của "chuông" có thể thu được bằng cách hoán vị các ký tự của chuỗi. Ví dụ: "bbbccceeellllllooowwwwwwwww"
chứa 3 chuông, trong khi "bbccceeellllllooowwwwwwwww"
và "bbbccceeelllllooowwwwwwwww"
mỗi chuông chứa 2 chuông và "cowbel"
chứa 0 chuông.
Làm thế nào đầu ra nên liên quan đến đầu vào?
Đầu ra phải bao gồm nối, theo thứ tự này, của chuỗi đầu vào và tiền tố ngắn nhất của chuỗi đầu vào cần thiết để tăng số lượng chuông.
Ví dụ, "bbbccceeelllllooowwwwwwwww"
chỉ cần thêm một "l"
để chứa 3 chuông thay vì 2; tiền tố ngắn nhất có chứa đó "l"
là "bbbccceeel"
. Do đó, nếu đầu vào là "bbbccceeelllllooowwwwwwwww"
, thì đầu ra phải là "bbbccceeelllllooowwwwwwwwwbbbccceeel"
.
Kỹ thuật
- Bạn có thể cho rằng đầu vào chỉ chứa các ký tự ASCII có thể in được. Nếu có một hoặc hai ký tự gây khó chịu cho quá trình xử lý chuỗi ngôn ngữ của bạn (chẳng hạn như dòng mới hoặc
\
), bạn có thể giả sử rằng đầu vào không chứa chúng, chỉ cần đề cập đến hạn chế này. - Bạn có thể giả định thêm rằng các ký tự chữ cái trong đầu vào đều là chữ thường hoặc tất cả chữ hoa. Nếu bạn chọn không giả sử một trong những điều này, hãy đếm số trường hợp không nhạy cảm.
- Thêm nữa, bạn có thể giả định rằng các đầu vào chứa ít nhất một bản sao của mỗi nhân vật
b
,c
,e
,l
,o
, vàw
. Điều này tương đương với việc giả sử rằng một số tiền tố của chuỗi có thể được nối với nó để tạo ra một chuỗi có chứa nhiều chuông hơn. (Lưu ý rằng chính chuỗi đầu vào không cần chứa chuông.) - Nếu ngôn ngữ của bạn có nội dung giải quyết vấn đề này ... thì hãy sử dụng nó một cách nghiêm túc, thật tuyệt vời làm sao.
Tã mạ vàng
Vì thời gian ghi âm là đắt, mã của bạn phải càng ngắn càng tốt. Mục có ít byte nhất là người chiến thắng!
Các trường hợp thử nghiệm
( liên kết pastebin để sao chép / dán dễ dàng hơn)
Kiểm tra đầu vào số 1: "christopher walken begs for more cowbell!"
Đầu ra thử nghiệm # 1: "christopher walken begs for more cowbell!christopher wal"
Kiểm tra đầu vào số 2: "the quick brown fox jumps over the lazy dog"
Đầu ra thử nghiệm # 2: "the quick brown fox jumps over the lazy dogthe quick brown fox jumps over the l"
Kiểm tra đầu vào số 3: "cowbell"
Đầu ra thử nghiệm # 3: "cowbellcowbell"
Kiểm tra đầu vào số 4: "cowbell cowbell cowbell"
Đầu ra thử nghiệm # 4: "cowbell cowbell cowbellcowbell"
Kiểm tra đầu vào số 5: "cowbell cowbell cowbel"
Đầu ra thử nghiệm # 5: "cowbell cowbell cowbelcowbel"
Kiểm tra đầu vào số 6: "bcelow"
Đầu ra thử nghiệm # 6: "bcelowbcel"
Kiểm tra đầu vào số 7: "abcdefghijklmnopqrstuvwxyz"
Đầu ra thử nghiệm # 7: "abcdefghijklmnopqrstuvwxyzabcdefghijkl"
Kiểm tra đầu vào số 8: "cccowwwwbbeeeeelllll"
Đầu ra thử nghiệm # 8: "cccowwwwbbeeeeelllllccco"
Kiểm tra đầu vào số 9: "be well, programming puzzles & code golf"
Đầu ra thử nghiệm # 9: "be well, programming puzzles & code golfbe well, programming puzzles & c"
Kiểm tra đầu vào số 10: "lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. wow!"
Đầu ra thử nghiệm # 10: "lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. wow!lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut lab"
Kiểm tra đầu vào số 11:
"c-c-b-c
i have a cow, i have a bell.
uh! bell-cow!
i have a cow, i have a cowbell.
uh! cowbell-cow!
bell-cow, cowbell-cow.
uh! cow-cowbell-bell-cow.
cow-cowbell-bell-cow!
"
Đầu ra thử nghiệm # 11:
"c-c-b-c
i have a cow, i have a bell.
uh! bell-cow!
i have a cow, i have a cowbell.
uh! cowbell-cow!
bell-cow, cowbell-cow.
uh! cow-cowbell-bell-cow.
cow-cowbell-bell-cow!
c-c-b-c
i have a cow, i have a bell"
test case -> result
trong một khối mã được định dạng sẵn lớn. Nó đẹp hơn nhiều về mặt thẩm mỹ và dễ dàng hơn để sao chép dán.
L
s trong từ, đây không phải là những gì thách thức yêu cầu.