Mục tiêu
Đây là một thử thách đơn giản. Mục tiêu của bạn là xắp xếp lại một chuỗi bằng cách hoán đổi từng chữ cái với chữ cái tiếp theo của cùng một trường hợp, trong khi không thay đổi các ký tự không phải chữ cái.
Từng bước giải thích
Ký tự đầu tiên là a
E
. Chúng tôi tìm chữ cái tiếp theo bằng chữ in hoa: đó là aC
. Chúng tôi trao đổi những nhân vật này, dẫn đếnCdoE!
.Chúng tôi tiến tới nhân vật tiếp theo: đây là a
d
. Chúng tôi tìm chữ cái tiếp theo bằng chữ thường: đó là ao
. Chúng tôi trao đổi những nhân vật này, dẫn đếnCodE!
.Chúng tôi tiến tới nhân vật tiếp theo: đây là nhân vật
d
chúng tôi mới chuyển đến đây. Chúng tôi bỏ qua nó, bởi vì nó đã được xử lý.Chúng tôi tiến tới nhân vật tiếp theo: đây là nhân vật
E
đã được chuyển đến đây ở bước # 1. Chúng tôi bỏ qua nó, bởi vì nó đã được xử lý.Chúng tôi tiến tới nhân vật tiếp theo: đây là a
!
. Chúng tôi bỏ qua nó, bởi vì nó không phải là một lá thư.
Quy tắc
Bạn có thể giả sử rằng chuỗi đầu vào được tạo riêng cho các ký tự ASCII có thể in được, trong phạm vi 32 - 126.
Bạn có thể viết một chương trình đầy đủ hoặc một chức năng, in hoặc trả về kết quả.
Nếu chuỗi đầu vào chứa một số lượng chữ cái lẻ, chữ cái cuối cùng còn lại không thể được hoán đổi với một chữ cái khác và vẫn giữ nguyên vị trí, bất kể trường hợp của nó. Logic tương tự được áp dụng nếu chuỗi chứa một số chữ cái chẵn, nhưng một số lẻ các chữ cái viết hoa và một số lẻ các chữ cái viết thường.
Đây là môn đánh gôn, vì vậy câu trả lời ngắn nhất bằng byte sẽ thắng. Sơ hở tiêu chuẩn bị cấm.
Các trường hợp thử nghiệm
Input : lLEhW OroLd!
Output: hELlO WorLd!
Input : rpGOZmaimgn uplRzse naC DEoO LdGf
Output: prOGRamming puzZles anD COdE GoLf
Input : eIt uqHKC RBWOO xNf ujPMO SzRE HTL EOvd yAg
Output: tHe quICK BROWN fOx juMPS OvER THE LAzy dOg
Input : NraWgCi: Nsas-eNEiTIsev rNsiTG!!
Output: WarNiNg: Case-sENsITive sTriNG!!
Các trường hợp thử nghiệm không ngẫu nhiên:
Input : (^_^)
Output: (^_^)
Input : AWCTY HUOS RETP
Output: WATCH YOUR STEP
Input : hwn oeesd acsp nawyya
Output: who needs caps anyway
Input : SpMycaeIesKyBorekn
Output: MySpaceKeyIsBroken
Input : D's mroyr, Ivam. I'e faardi I act'n od htta.
Output: I'm sorry, Dave. I'm afraid I can't do that.