Advertisement
Lulunga

Emoji Sumator Final exam demo my solution

Jul 21st, 2019
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(input) {
  2.     let text = input.shift();
  3.     let emojiCode = input.shift();
  4.  
  5.     let asciiCodes = emojiCode.split(':').map(Number);
  6.     let emoji = asciiCodes.map(e => String.fromCharCode(e)).join('');
  7.     emoji = ':' + emoji + ':';
  8.     let pattern = /(?<=\s)(:[a-z]{4,}:)(?=[\s,.!?])/g;
  9.     let validEmojis = [];
  10.  
  11.     let validEmoji = null;
  12.     while ((validEmoji = pattern.exec(text)) !== null) {
  13.         validEmojis.push(validEmoji[0]);
  14.     }
  15.     let totalPower = 0;
  16.     validEmojis.forEach(element => {
  17.         element = element.substring(1, element.length - 1);
  18.         let elementSum = element.split('').map(e => e.charCodeAt(0)).reduce((a, b) => a + b, 0);
  19.         totalPower += elementSum;
  20.     });
  21.     if (validEmojis.includes(emoji)) {
  22.         totalPower = totalPower * 2;
  23.     }
  24.  
  25.     if (validEmojis.length > 0) {
  26.         console.log(`Emojis found: ${validEmojis.join(', ')}`);
  27.     }
  28.  
  29.     console.log(`Total Emoji Power: ${totalPower}`);
  30.  
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement