मान लीजिए हमारे पास एक रोबोट है, जो वर्तमान में (0, 0) (कार्तीय तल) पर बैठा है। यदि हमारे पास एन (उत्तर), एस (दक्षिण), डब्ल्यू (पश्चिम), और ई (पूर्व) युक्त इसकी चालों की सूची है। हमें यह जांचना होगा कि क्या यह गंतव्य निर्देशांक (x, y) पर पहुंच सकता है।
इसलिए, यदि इनपुट चाल =['एन', 'एन', 'ई', 'ई', 'एस'], (एक्स, वाई) =(2,1) की तरह है, तो आउटपुट सही होगा,
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- temp_coord :=[0,0]
- चाल में प्रत्येक चाल के लिए, करें
- यदि चाल "N" के समान है, तो
- temp_coord[1] :=temp_coord[1] + 1
- अन्यथा जब चाल "S" के समान हो, तो
- temp_coord[1] :=temp_coord[1] - 1
- अन्यथा जब चाल "ई" के समान हो, तो
- temp_coord[0] :=temp_coord[0] + 1
- अन्यथा जब चाल "W" के समान हो, तो
- temp_coord[0] :=temp_coord[0] - 1
- यदि चाल "N" के समान है, तो
- वापसी सही है जब temp_coord[0] समन्वय के समान है[0] और temp_coord[1] समान ascoord[1] है अन्यथा गलत है।
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
class Solution: def solve(self, moves, coord): temp_coord = [0,0] for move in moves: if move == "N": temp_coord[1] += 1 elif move == "S": temp_coord[1] -= 1 elif move == "E": temp_coord[0] += 1 elif move == "W": temp_coord[0] -= 1 return temp_coord[0] == coord[0] and temp_coord[1] == coord[1] ob = Solution() moves = ['N','N','E','E','S'] coord = [2,1] print(ob.solve(moves, coord))
इनपुट
['N','N','E','E','S'], [2,1]
आउटपुट
True