การปฏิเสธความรับผิดชอบ: เรื่องราวที่บอกไว้ในคำถามนี้เป็นเรื่องสมมติทั้งหมดและคิดค้นขึ้นเพื่อวัตถุประสงค์ในการให้คำแนะนำ
เจ้านายของฉันได้รับหุ่นยนต์ของเล่นตัวใหม่และเขาต้องการให้ฉันช่วยเขียนโปรแกรม เขาต้องการที่จะป้อนคำแนะนำลูกศรง่าย ๆ เพื่อให้มันเคลื่อนที่ คำแนะนำเหล่านี้คือ: ^ (สำหรับก้าวไปข้างหน้า) <(สำหรับเลี้ยวซ้าย) และ> (สำหรับเลี้ยวขวา) อย่างไรก็ตามตอนนี้ฉันได้ตั้งโปรแกรมหุ่นยนต์แล้วเขาต้องการฟังก์ชั่นเพิ่มเติม เขาต้องการให้ฉันเปลี่ยนลูกศรลำดับใด ๆ ที่เขาป้อนดังนั้นแทนที่จะให้หุ่นยนต์ไปตามเส้นทางที่ระบุมันจะย้ายไปยังตำแหน่งที่ต้องการโดยระบุสถานที่ที่มันจะจบลงถ้ามันใช้เส้นทางอินพุตอย่างมีประสิทธิภาพเช่นเดียวกับ เป็นไปได้ ฉันขอร้องคุณสมาชิกของ PP&CG ที่จะช่วยฉันทำงานนี้
งานของคุณ:
เขียนโปรแกรมหรือฟังก์ชั่นเพื่อแปลงสตริงที่ประกอบด้วยลูกศรเป็นสตริงที่จะไปยังตำแหน่งที่ระบุโดยอินพุตโดยเร็วที่สุด การเลี้ยวใช้เวลาตราบเท่าที่เคลื่อนที่ไปข้างหน้าหรือข้างหลัง
การป้อนข้อมูล:
สตริงลูกศรตามที่ระบุไว้ข้างต้น หากคุณต้องการตัวละครที่แตกต่างกันอาจถูกแทนที่ด้วยลูกศร แต่ต้องแน่ใจว่าได้รวมความจริงที่คุณทำไว้ในคำตอบของคุณ กรณีทดสอบทั้งหมดใช้ลูกศรตามปกติ
เอาท์พุท:
สตริงของลูกศร (หรืออักขระที่เทียบเท่ากัน) ที่นำหุ่นยนต์ไปยังปลายทางที่ต้องการอย่างมีประสิทธิภาพที่สุด
กรณีทดสอบ:
โปรดทราบว่าโซลูชันที่นำเสนอเป็นเพียงความเป็นไปได้และโซลูชันอื่น ๆ อาจใช้ได้
>^<<^^>^^ -> ^^<^
^^^^>^^^^ -> ^^^^>^^^^
>>>^^^^^^ -> <^^^^^^
>^>^>^>^ -> (empty string)
^<^^<^^<^^^^ -> >^^>^
เกณฑ์การให้คะแนน:
หน่วยความจำของหุ่นยนต์มี จำกัด ดังนั้นโปรแกรมของคุณต้องมีจำนวนไบต์ต่ำสุดเท่าที่จะเป็นไปได้
^<^^<^^<^^^^
-> >^^>^
?