Advertisement
desito07

Practice Sessions

Jul 30th, 2020
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(input){
  2. let race = {};
  3.    
  4.   input.forEach(line => {
  5.      let [command, road, racer, nextRoad] = line.split('->');
  6.       // console.log(command);
  7.      switch(command){
  8.         case "Add":
  9.           if(!race.hasOwnProperty(road)){
  10.           race[road] = [];
  11.           race[road].push(racer);            
  12.           } else if(!race[road].includes(racer)){
  13.             race[road].push(racer);
  14.           }      
  15.         // console.log(race);
  16.           break;
  17.         case "Move":
  18.           if(race.hasOwnProperty(road)){
  19.             let index = race[road].indexOf(racer);
  20.             race[road].splice(index, 1);                  
  21.             race[nextRoad].push(racer);
  22.           }
  23.           // console.log(race);
  24.           break;
  25.         case "Close":          
  26.             delete race[road];          
  27.           // console.log(race);
  28.           break;
  29.         case "END":
  30.           break;
  31.      }
  32.   });
  33.     let sorted = Object.entries(race).sort((a,b) => b[1].length - a[1].length || a[0].localeCompare(b[0]));
  34. console.log("Practice sessions:");
  35.   for(let kvp of sorted){
  36.     console.log(`${kvp[0]}`);
  37.     for(let kkk of kvp[1]){
  38.       console.log(`++${kkk}`);
  39.     }  
  40.   }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement