19
มาสร้างบันไดกัน
เรามีความท้าทายอย่างง่ายไม่เพียงพอ (กึ่ง -) สำหรับผู้เริ่มต้น คนง่าย ๆ เพิ่มมากขึ้นเรื่อย ๆ ดังนั้นฉันจึงพยายามหาบางสิ่งที่อาจเป็นไปได้สำหรับผู้เริ่มต้น แต่ก็ไม่ซ้ำกัน การป้อนข้อมูล: สตริงเดี่ยวคั่นด้วยบรรทัดใหม่ของระบบปฏิบัติการ (เช่น\r\n) หรืออาร์เรย์ที่มีหลายสตริง เอาท์พุท - บันได : ลบสัญลักษณ์ที่ไม่ใช่ตัวอักษรและไม่ใช่ตัวเลขทั้งหมด [A-Za-z0-9]ดังนั้นสิ่งที่เหลือคือ จากนั้น 'สร้างบันได'; โดยทั่วไปแล้วให้เรียงตามความยาวโดยมีขนาดเล็กที่สุดที่ด้านบนและกว้างที่สุดที่ด้านล่าง กฏท้าทาย: เมื่อทั้งสองสายมีความยาวเท่ากันเราจะรวมกันเป็นสตริงขนาดใหญ่หนึ่ง (ลำดับไม่สำคัญดังนั้นอาจเป็นจากลำดับแรกไปครั้งสุดท้ายหรือครั้งสุดท้ายไปครั้งแรกแล้วแต่จำนวนใดก็ได้ที่คุณต้องการ) กฎด้านบนสามารถสแต็กเมื่อสตริงที่ผสานมีความยาวเท่ากันอีกครั้ง (ดูกรณีทดสอบ 2) กฎทั่วไป: อินพุตเป็น STDIN และมีอักขระ ASCII เท่านั้น และผลลัพธ์คือ STDOUT กรณีของการส่งออกจะต้องเหมือนกันกับการป้อนข้อมูล การส่งแต่ละครั้งจะต้องเป็นโปรแกรมเต็มรูปแบบที่สามารถรวบรวมและเรียกใช้ดังนั้นไม่ใช่เพียงวิธี / ฟังก์ชั่น แก้ไข: ฉันค่อนข้างใหม่ดังนั้นบางทีมันอาจจะดีกว่าที่จะใช้ค่าเริ่มต้นนับจากนี้ไปแม้ว่าฉันจะชอบโปรแกรมเต็มรูปแบบด้วยตัวเอง ขออภัยสำหรับทุกคนที่โพสต์โปรแกรมเต็มแล้ว รู้สึกอิสระที่จะแก้ไขและฉันจะพยายามไม่เปลี่ยนโพสต์กลาง - ท้าทายในครั้งต่อไป นี่คือโค้ดกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ ฉันอาจยอมรับคำตอบที่สั้นที่สุดในหนึ่งปีนับจากนี้ อย่าปล่อยให้คำตอบของ …