इस चुनौती से प्रेरित होकर (शीर्षक के लिए @cairdcoinheringaahing धन्यवाद!), आपका काम दो मुद्रण योग्य ASCII तार लेना है और उन्हें निम्नलिखित नियमों के साथ तत्व-वार गुणा करना है।
यह कैसे काम करता है?
दो तार (उदाहरण के लिए यह देखते हुए split
और isbn
) जब आपने पहली बार काटना होगा लंबे समय तक ऐसे ही एक समान लंबाई है कि वे और फिर अपने निर्धारित ASCII कोड :
split -> spli -> [115, 112, 108, 105]
isbn -> isbn -> [105, 115, 98, 110]
अगला चरण उन्हें प्रत्येक कोड [0..94]
को घटाकर सीमा तक ले जाने 32
का होगा:
[115, 112, 108, 105] -> [83, 80, 76, 73]
[105, 115, 98, 110] -> [73, 83, 66, 78]
अब आप उन्हें तत्व-वार मोडुलो 95
(प्रिंट करने योग्य सीमा में रहने के लिए) गुणा करेंगे :
[83, 80, 76, 73] ⊗ [73, 83, 66, 78] -> [74, 85, 76, 89]
32
श्रेणी में वापस लाने के लिए जोड़ें [32..126]
:
[74, 85, 76, 89] -> [106, 117, 108, 121]
और अंतिम चरण उन्हें ASCII वर्णों में वापस मैप करना है:
[106, 117, 108, 121] -> "july"
नियम
- आप एक प्रोग्राम / फ़ंक्शन लिखेंगे जो दो स्टिंग्स पर वर्णित चरणों को लागू करता है और या तो प्रिंट करता है या परिणामस्वरूप स्ट्रिंग लौटाता है
- इनपुट प्रारूप लचीला है: आप दो तार ले सकते हैं, तार का एक टुकड़ा, तार की सूची आदि।
- इनपुट में एक या दो खाली तार हो सकते हैं
- इनपुट मुद्रण योग्य श्रेणी में वर्ण होंगे (
[32..126]
) - आउटपुट या तो कंसोल पर मुद्रित होता है या आप एक स्ट्रिंग लौटाते हैं
- आउटपुट को अनुगामी व्हॉट्सएप की अनुमति है
परीक्षण के मामलों
"isbn", "split" -> "july"
"", "" -> ""
"", "I don't matter" -> ""
" ", "Me neither :(" -> " "
"but I do!", "!!!!!!!!!" -> "but I do!"
'quotes', '""""""' -> 'ck_iKg'
"wood", "hungry" -> "yarn"
"tray", "gzip" -> "jazz"
"industry", "bond" -> "drop"
"public", "toll" -> "fall"
"roll", "dublin" -> "ball"
"GX!", "GX!" -> "!!!"
"4 lll 4", "4 lll 4" -> "4 lll 4"
"M>>M", "M>>M" -> ">MM>"
नोट : उद्धरण केवल पठनीयता के लिए हैं, 6 वें परीक्षण मामले में जिसके '
बजाय मैंने उपयोग किया था "
।
abc, def -> [['a', 'b', 'c'], ['d', 'e', 'f']]