Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

जावास्क्रिप्ट में जंबल्ड नंबर नामों से नंबर तैयार करना

<घंटा/>

समस्या

मान लीजिए निम्नलिखित संख्या नाम स्ट्रिंग -

const str = 'TOWNE';

यदि हम इस स्ट्रिंग को पुनर्व्यवस्थित करते हैं, तो हम इसमें 2 (TWO) और 1 (ONE) में दो नंबरों के नाम पा सकते हैं।

इसलिए, हम 21 के आउटपुट की उम्मीद करते हैं

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक ऐसी स्ट्रिंग लेता है और स्ट्रिंग में मौजूद संख्या देता है।

उदाहरण

निम्नलिखित कोड है -

const str = 'TOWNE';
const findNumber = (str = '') => {
   function stringPermutations(str) {
      const res = [];
      if (str.length == 1) return [str];
      if (str.length == 2) return [str, str[1]+str[0]];
      str.split('').forEach((chr, ind, arr) => {
         let sub = [].concat(arr);
         sub.splice(ind, 1);
         stringPermutations(sub.join('')).forEach(function (perm) {
            res.push(chr+perm);
         });
      });
      return res;
   }
   const legend = {
      'ONE': 1, 'TWO': 2, 'THREE': 3, 'FOUR': 4,
      'FIVE': 5, 'SIX': 6, 'SEVEN': 7, 'EIGHT': 8,
      'NINE': 9, 'ZERO': 0
   };
   const keys = Object.keys(legend);
   const res = {};
   const resArr = [];
   let result = '';
   keys.forEach(key => {
      const match = stringPermutations(key).find(el => el.split('').every(char => str.includes(char)));
      if(match){
         const index = str.indexOf(match[0]);
         if(!res.hasOwnProperty(key)){
            res[key] = [index];
         }else if(!res[key].includes(index)){
            res[key].push(index);
         };
      };
   });
   Object.keys(res).forEach(word => {
      resArr.push([word, ...res[word]]);
   });
   resArr.sort((a, b) => a[1] - b[1]);
   resArr.forEach(sub => {
      result = result + String(legend[sub[0]]).repeat(sub.length - 1);
   });
   return +result;
};
console.log(findNumber(str));

आउटपुट

कंसोल आउटपुट निम्नलिखित है -

21

  1. हम जावास्क्रिप्ट में दशमलव संख्याओं को कैसे मान्य कर सकते हैं?

    जावास्क्रिप्ट में दशमलव संख्याओं को मान्य करने के लिए निम्नलिखित कोड है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title&g

  1. जावास्क्रिप्ट में जंबल्ड नंबर नामों से नंबर तैयार करना

    समस्या मान लीजिए निम्नलिखित संख्या नाम स्ट्रिंग - const str = 'TOWNE'; यदि हम इस स्ट्रिंग को पुनर्व्यवस्थित करते हैं, तो हम इसमें 2 (TWO) और 1 (ONE) में दो नंबरों के नाम पा सकते हैं। इसलिए, हम 21 के आउटपुट की उम्मीद करते हैं हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक ऐसी स्ट्रिंग लेता

  1. जावास्क्रिप्ट में 1 से n तक की सभी संख्याओं से विभाज्य सबसे छोटी संभव संख्या

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो संख्या n लेता है। हमारे फ़ंक्शन को उस छोटी से छोटी संभव संख्या को ढूंढना और वापस करना चाहिए जो 1 से n तक की सभी संख्याओं से विभाज्य हो। उदाहरण निम्नलिखित कोड है - const num = 11; const smallestDivisible = (num = 1) => {    let res = num