Trong vở kịch phi lý Rosencrantz và Guildenstern đã chết , hai nhân vật chính Rosencrantz và Guildenstern (hoặc họ?) Luôn luôn trộn lẫn giữa ai trong số họ là ai hoặc đôi khi là bộ phận cơ thể của chính họ mà họ cảm thấy thiếu. bản sắc cá nhân. Sẽ không phải là vô lý nếu họ thậm chí xáo trộn xung quanh tên của họ?
Nhiệm vụ của bạn là viết một hàm có một chuỗi có độ dài chẵn (và theo thiết kế, bội số của 4) lớn hơn 7 ký tự, tách nó và xáo trộn nó.
Việc chia tách sẽ như sau : chuỗi sẽ có định dạng "abscd", với s đóng vai trò là ký tự phân tách . Phần đầu tiên và dấu phân cách, abssẽ là nửa đầu của chuỗi, trong khi nửa sau sẽ làcd
Độ dài của asẽ là(string length / 4) - 1
Độ dài của bsẽ là(string length / 4)
Độ dài của ssẽ là1
Độ dài của csẽ là(string length / 4) + 1
Độ dài của dsẽ là(string length / 4) - 1
Điều này có thể thực sự khó hiểu, vì vậy hãy để tôi chỉ cho bạn một số ví dụ
("a" + "bb" + "s" + "ccc" + "d").length //8
1 2 1 3 1
|-------4--------| |----4-----| <--- (4 is half of 8)
("rosen" + "crantz" + "&" + "guilden" + "stern").length //24
5 6 1 7 5
("foo" + "barr" + "?" + "barry" + "foo").length
3 4 1 5 3
Cuối cùng:
Sau đó, bạn xáo trộn các bộ phận xung quanh, xuất ra adscb
Ví dụ. "rosencrantz&guildenstern" --> "rosenstern&guildencrantz"
"foobarr?barryfoo" --> "foofoo?barrybarr"
Quy tắc:
- Lỗ hổng tiêu chuẩn bị cấm
- Câu trả lời chấp nhận được: một hàm nhận đầu vào thông qua một chuỗi đầu vào và trả về một chuỗi đầu ra
- Nếu chuỗi đầu vào không khớp với các yêu cầu được cung cấp ở trên, mã của bạn PHẢI lỗi (không quan trọng là loại nào
ExceptionhoặcError) - Đây là
code-golf, vì vậy câu trả lời ngắn nhất (hợp lệ) (trong mỗi ngôn ngữ) sẽ thắng! - Điểm thưởng cho một lớp lót :-) (Không thực sự tho, chỉ là điểm tuyệt vời)