डिस्क्लेमर: इस सवाल के भीतर बताई गई कहानी पूरी तरह से काल्पनिक है, और इंट्रो प्रदान करने के उद्देश्य से पूरी तरह से आविष्कार की गई है।
मेरे मालिक ने एक नया खिलौना रोबोट प्राप्त किया है, और वह चाहता है कि मैं इसे कार्यक्रम में मदद करूं। वह इसे स्थानांतरित करने के लिए सरल तीर निर्देश दर्ज करने में सक्षम होना चाहता है। ये निर्देश हैं: ^ (आगे बढ़ने के लिए) <(बारी के लिए बाएं), और> (बारी के लिए दाएं)। हालांकि, अब जब मैंने रोबोट को प्रोग्राम किया है, तो वह अतिरिक्त कार्यक्षमता चाहता है। वह चाहता है कि मैं किसी भी अनुक्रम के तीर को उसके इनपुट में बदल दूं, ताकि रोबोट को संकेत दिए गए रास्ते को लेने के बजाय, वह वांछित स्थान पर चला जाए, उस स्थान से संकेत मिलता है जहां वह इनपुट पथ को ले गया था, जैसे कि कुशलता से। मुमकिन। मैं इस कार्य में मेरी सहायता करने के लिए, PP & CG के सदस्यों से अपील करता हूं।
आपका कार्य:
एक प्रोग्राम या फ़ंक्शन को एक स्ट्रिंग में तीर से बना एक स्ट्रिंग में बदलने के लिए लिखें जो इनपुट द्वारा संकेतित स्थान पर जितनी जल्दी हो सके। टर्निंग को पीछे या आगे की ओर बढ़ने में बिल्कुल समय लगता है।
इनपुट:
तीर का एक तार, जैसा कि ऊपर संकेत दिया गया है। यदि आप चाहें, तो तीर के लिए विभिन्न वर्णों को प्रतिस्थापित किया जा सकता है, लेकिन इस तथ्य को शामिल करना सुनिश्चित करें कि आप अपने उत्तर में ऐसा करते हैं। सभी परीक्षण मामले सामान्य रूप से तीरों का उपयोग करते हैं।
आउटपुट:
तीरों की एक स्ट्रिंग (या आपके समकक्ष वर्ण), जो रोबोट को यथासंभव वांछित गंतव्य तक ले जाती है।
परीक्षण के मामलों:
ध्यान दें कि प्रस्तावित समाधान केवल संभावनाएं हैं, और अन्य समाधान मान्य हो सकते हैं।
>^<<^^>^^ -> ^^<^
^^^^>^^^^ -> ^^^^>^^^^
>>>^^^^^^ -> <^^^^^^
>^>^>^>^ -> (empty string)
^<^^<^^<^^^^ -> >^^>^
स्कोरिंग:
रोबोट की मेमोरी सीमित है, इसलिए आपके प्रोग्राम में सबसे कम बाइट गिनती संभव है।
^<^^<^^<^^^^
-> >^^>^
?