Advertisement
Lulunga

racers regex

Jul 26th, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(arr) {
  2.     let participants = arr.shift().split(', ');
  3.     let results = {};
  4.     arr.forEach(line => {
  5.         let namePattern = /[A-Za-z]/gm;
  6.         let distancePattern = /[0-9]/gm;
  7.         let name = line.match(namePattern).join('');
  8.         if (participants.includes(name)) {
  9.             let distance = line.match(distancePattern).map(Number).reduce((a, b) => a + b, 0);
  10.             if (!results[name]) {
  11.                 results[name] = 0;
  12.             }
  13.             results[name] += distance;
  14.         }
  15.  
  16.     });
  17.  
  18.     let sorted = Object.entries(results).sort((a, b) => {
  19.         return b[1] - a[1];
  20.     });
  21.     sorted = sorted.slice(0, 3);
  22.     for (let i = 0; i < sorted.length; i++) {
  23.         if (i === 0) {
  24.             console.log(`1st place: ${sorted[0][0]}`);
  25.         }
  26.         if (i === 1) {
  27.             console.log(`2nd place: ${sorted[1][0]}`);
  28.         }
  29.         if (i === 2) {
  30.             console.log(`3rd place: ${sorted[2][0]}`);
  31.         }
  32.  
  33.     }
  34.  
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement