แก้ไขฉันแก้ไขถ้อยคำของกฎเพื่อทำให้บางสิ่งที่ชัดเจนโดยนัยยิ่งขึ้น ฉันยังเพิ่มความสำคัญบางอย่างเพื่อกำจัดจุดที่สับสนชัดเจนและกำหนดตัวเลือกในการทำโปรแกรมสแตนด์อโลนแทนฟังก์ชั่น
เป้าหมายที่นี่คือการทำให้ฟังก์ชั่นที่ใช้ไฟล์ข้อความ (หรือสตริง) และเปลี่ยนมันเพื่อให้บรรทัดกลายเป็นคอลัมน์และในทางกลับกัน
ตัวอย่าง:
ฉันเป็นข้อความ ไขว้ฉัน คุณทำได้มั้ย?
ผลลัพธ์ใน:
ITC RA อาน ล้าน ซี่ APO อู ทีเอส อี๊ด XO TM .ei .t ?
กฎระเบียบ:
- คุณได้รับอนุญาตให้สมมติว่าอักขระช่องว่างเท่านั้นที่ใช้เป็น
" "
และ"\n"
และไม่มีช่องว่างต่อท้ายในบรรทัดใด ๆ - คุณอาจคิดว่าไฟล์นั้นเป็น ASCII เครื่องหมายปลายทางที่คุณต้องการใช้ขึ้นอยู่กับคุณ (CRLF หรือ LF) มันจะต้องทำงานอย่างถูกต้องกับตัวอย่าง แต่มันก็ควรจะทำงานกับข้อมูลใด ๆที่เป็นไปตามสมมติฐานข้างต้น
- คุณอาจต้องแทรกช่องว่าง (ในตัวอย่าง) โดยที่ไม่มีเพื่อรักษาคอลัมน์ในบรรทัด
- ผลของคุณต้องไม่ได้ต่อท้ายช่องว่างในบรรทัดใด ๆ
- อักขระขึ้นบรรทัดใหม่สุดท้าย (สำหรับบรรทัดสุดท้าย) เป็นทางเลือก
- ควรเป็นฟังก์ชันหรือโปรแกรมที่สมบูรณ์ หากฟังก์ชั่นของคุณยอมรับสตริงก็ควรส่งคืนผลลัพธ์เป็นสตริง หากยอมรับชื่อไฟล์คุณจะส่งคืนชื่อไฟล์ที่คุณบันทึกผลลัพธ์ นอกจากนี้คุณยังได้รับอนุญาตให้เขียนโปรแกรมที่สมบูรณ์ซึ่งรับอินพุตจาก STDIN และส่งผลลัพธ์ที่ถูกต้องไปยัง STDOUT; หากคุณทำสิ่งนี้คุณจะต้องไม่ส่งสิ่งใดไปยัง STDERR
- ขั้นตอนที่สั้นที่สุดชนะ แต่ฉันจะโหวตคำตอบที่ฉันชอบ
ตามกฎเอาต์พุตในตัวอย่างมีความยาว 53 หรือ 52 ไบต์ (สำหรับบรรทัดใหม่ LF) ขึ้นอยู่กับว่าขึ้นบรรทัดใหม่สุดท้ายหรือไม่
หมายเหตุ:มันไม่ได้เป็นข้อกำหนดเฉพาะ แต่ถ้าฟังก์ชั่นของคุณเมื่อรันสองครั้งติดต่อกันจะไม่เหมือนกับต้นฉบับ (ขึ้นบรรทัดใหม่สุดท้ายอาจแตกต่างกันและบรรทัดว่างใด ๆ ที่ท้ายไฟล์จะถูกลบ) จากนั้นคุณจะอาจละเมิดกฎข้อใดข้อหนึ่ง