Advertisement
Guest User

Untitled

a guest
Jul 19th, 2020
426
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function y(params = []) {
  2.     let betterInput = params.slice(0, params.indexOf('start of concert'));
  3.     let bands = {};
  4.     let playtime = {};
  5.     let totalPlaytime = 0;
  6.  
  7.     for (const line of betterInput) {
  8.         let [command, bandName, value] = line.split('; ');
  9.  
  10.         switch (command) {
  11.             case 'Add':
  12.                 let members = value.split(', ');
  13.                 if (!bands.hasOwnProperty(bandName)) {
  14.                     bands[bandName] = [];
  15.                     for (let i = 0; i < members.length; i++) {
  16.                         if (!bands[bandName].includes(members[i])) {
  17.                             bands[bandName].push(members[i])
  18.                         }
  19.                     }
  20.                 } else {
  21.                     for (let index = 0; index < members.length; index++) {
  22.                         if (!bands[bandName].includes(members[index])) {
  23.                             bands[bandName].push(members[index])
  24.                         }
  25.                     }
  26.                 }
  27.                 break;
  28.  
  29.             default:
  30.                 let timeOnStage = +value;
  31.                 totalPlaytime += timeOnStage;
  32.                 if (!playtime.hasOwnProperty(bandName)) {
  33.                     playtime[bandName] = 0;
  34.                 }
  35.                 playtime[bandName] += timeOnStage;
  36.                 break;
  37.         }
  38.  
  39.     }
  40.  
  41.     console.log(`Total time: ${totalPlaytime}`);
  42.  
  43.     let playtimeArr = Object
  44.         .entries(playtime)
  45.         .sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0]))
  46.         .forEach(member => {
  47.             console.log(`${member[0]} -> ${member[1]}`);
  48.         });
  49.  
  50.  
  51.     let bandMembers = Object
  52.         .entries(bands)
  53.         .sort((a, b) => b[0].length - a[0].length);
  54.  
  55.     let finalBand = params.pop();
  56.    
  57.     console.log(finalBand);
  58.    
  59.     bands[finalBand].forEach(member => {
  60.         console.log(`=> ${member}`);
  61.     })
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement