AlexTasev

Problem 2 – F1 Race

Oct 9th, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function race(input) {
  2.     let result = input[0].split(/\s+/).slice(0);
  3.     let actionsAndRacers = input.slice(1);
  4.  
  5.     for (let i = 0; i < actionsAndRacers.length; i++) {
  6.         let tokens = actionsAndRacers[i].split(/\s+/);
  7.         let action = tokens[0].toLowerCase();
  8.         let racer = tokens[1];
  9.  
  10.         switch (action) {
  11.             case "join":
  12.                 if (result.includes(racer) === false) {
  13.                     result.push(racer);
  14.                 }
  15.                 break;
  16.             case "crash":
  17.                 if (result.includes(racer)) {
  18.                     let index = result.indexOf(racer);
  19.                     result.splice(index, 1);
  20.                 }
  21.                 break;
  22.             case "pit":
  23.                 if (result.includes(racer)) {
  24.                     let index = result.indexOf(racer)
  25.                     let movedRacer = result.splice(index, 1);
  26.                     result.splice(index + 1, 0, movedRacer[0]);
  27.                 }
  28.                 break;
  29.             case "overtake":
  30.                 if (result.includes(racer)) {
  31.                     let index = result.indexOf(racer);
  32.                     let movedRacer = result.splice(index, 1);
  33.                     result.splice(index - 1, 0, movedRacer[0]);
  34.                 }
  35.                 break;
  36.         }
  37.     }
  38.     console.log(result.join(" ~ "));
  39. }
  40. //  90 %
Add Comment
Please, Sign In to add comment