Advertisement
kstoyanov

10. Letters Change Numbers

Jul 19th, 2020
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(args) {
  2.   const words = args.split(' ');
  3.   const results = [];
  4.  
  5.   const takeLetterCharCode = (word, letter) => {
  6.     const takeLeftLetterIndex = word.indexOf(letter);
  7.     const takeLetterCode = word.charCodeAt(takeLeftLetterIndex);
  8.     let codeInAlphabet = 0;
  9.  
  10.     if (takeLetterCode >= 97 && takeLetterCode <= 122) {
  11.       codeInAlphabet += takeLetterCode - 96;
  12.     } if (takeLetterCode >= 65 && takeLetterCode <= 90) {
  13.       codeInAlphabet += takeLetterCode - 64;
  14.     }
  15.  
  16.     return codeInAlphabet;
  17.   };
  18.  
  19.  
  20.   words.forEach((word) => {
  21.     const input = word.split('');
  22.     const leftLetter = input.shift();
  23.     const rightLetter = input.pop();
  24.     let takeNumber = Number(input.join(''));
  25.  
  26.     if (leftLetter !== undefined && leftLetter === leftLetter.toUpperCase()) {
  27.       takeNumber /= takeLetterCharCode(word, leftLetter);
  28.     } else {
  29.       takeNumber *= takeLetterCharCode(word, leftLetter);
  30.     }
  31.  
  32.     if (rightLetter !== undefined && rightLetter === rightLetter.toUpperCase()) {
  33.       takeNumber -= takeLetterCharCode(word, rightLetter);
  34.     } else {
  35.       takeNumber += takeLetterCharCode(word, rightLetter);
  36.     }
  37.  
  38.     results.push(takeNumber);
  39.   });
  40.  
  41.   const sumResults = results.reduce((acc, curentValue) => acc + curentValue, 0);
  42.  
  43.   if (!Number.isNaN(sumResults)) {
  44.     console.log(`${sumResults.toFixed(2)}`);
  45.   }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement