ความท้าทายนี้เป็นแรงบันดาลใจนี้คำตอบที่ดีมากโดย TidB
ในคำตอบของ TidB ทุกตัวละครแปดตัวอยู่ในลำดับที่ถูกต้อง: gnilwoB edoC
( Code Bowling
ข้างหลัง) สตริงอื่น ๆอยู่ในลำดับที่แปลกและสุ่ม
ความท้าทายของคุณคือการแก้ไขปัญหานี้
รับสตริง (ไม่ว่าง) และจำนวนเต็มบวกn
เป็นอินพุต สตริงจะมีอักขระ ASCII อยู่ในช่วง: 32-126 (เว้นวรรคถึงตัวหนอน)
คุณต้องจัดเรียงสตริงตามลำดับจากน้อยไปหามาก (มองจากด้านซ้ายตามค่ารหัส ASCII) แต่ข้ามn
อักขระทุกตัวที่เริ่มต้นจากจุดสิ้นสุดของสตริง ตัวอย่างเช่นลองเอาสตริงabcdABC123
เป็นอินพุตn=4
แล้วเราจะได้:
abcdABC123 <- Input string. (n=4)
_b___B___3 <- These will not be sorted (every 4th starting from the end)
1_2AC_acd_ <- The remaining characters, sorted
1b2ACBacd3 <- The final string (the output)
ตัวอย่างอื่น:
9876543210 <- Input string (n=2)
_8_6_4_2_0 <- These will not be sorted
1_3_5_7_9_ <- The remaining characters, sorted
1836547290 <- The final string (the output)
สตริงอินพุตสามารถถูกนำมาใช้ในรูปแบบที่เป็นทางเลือก (สตริง, รายการอักขระ, รายการของสตริงอักขระเดี่ยว ... ) จำนวนเต็มอินพุทสามารถนำมาใช้กับรูปแบบที่เลือก
กรณีทดสอบ:
รูปแบบจะn=__
ตามด้วยสตริงอินพุตในบรรทัดถัดไป เอาต์พุตอยู่ที่บรรทัดด้านล่าง
n=1 (All elements will stay in place)
nafgaksa1252#"%#
nafgaksa1252#"%#
n=214 (The last character will stay in place. All other are sorted.
&/lpfAVD
&/AVflpD
n=8
g7L9T E^n I{><#ki XSj!uhl y= N+|wA}Y~Gm&o?'cZPD2Ba,RFJs% V5U.W;1e 0_zM/d$bH`@vKoQ 43Oq*C
g n !#$%&'i*+,./01l234579;w<=>?@ADoEFGHIJKBLMNOPQR STUVWXYeZ^_`abcdhjkmqsuovyz{|}~C