समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो दो बाइनरी स्ट्रिंग्स str1 और str2 को पहले और दूसरे तर्क के रूप में लेता है
हमारे फ़ंक्शन को दो बाइनरी नंबरों का योग वापस करना चाहिए। हमें द्विआधारी संख्याओं को दशमलव में बदलने और फिर जोड़ने की अनुमति नहीं है और परिणामी योग में कोई शून्य नहीं होना चाहिए।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
इनपुट
const str1 = '1101'; const str2 = '10111';
आउटपुट
const output = '100100';
उदाहरण
निम्नलिखित कोड है -
const str1 = '1101'; const str2 = '10111'; const addBinary = (str1 = '', str2 = '') => { str1 = str1.split('').reverse(); str2 = str2.split('').reverse(); let res = '', temp = 0; while (str1.length || str2.length || temp) { temp += (~~str1.shift()) + (~~str2.shift()); let mod = temp % 2; res = mod + res; temp = temp > 1; }; return (+res) ? res.replace(/^0+/, '') : '0'; }; console.log(addBinary(str1, str2));
आउटपुट
100100