Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(input) {
- let bandToPrint = input.pop();
- let totalTime = 0;
- let bands = {};
- let playTimes = {};
- const add = (bandName, members) => {
- if (!bands[bandName]) {
- bands[bandName] = [];
- }
- let currentMembers = bands[bandName];
- let newMembers = [...currentMembers, ...members];
- newMembers = [...new Set(newMembers)];
- bands[bandName] = newMembers;
- };
- const play = (bandName, time) => {
- if (!playTimes[bandName]) {
- playTimes[bandName] = 0;
- }
- playTimes[bandName] += time;
- totalTime += time;
- };
- for (let line of input) {
- if (line === 'start of concert') {
- break;
- }
- let [command, band, otherParams] = line.split('; ');
- if (command === 'Add') {
- let members = otherParams.split(', ');
- add(band, members);
- } else if (command === 'Play') {
- let time = Number(otherParams);
- play(band, time);
- }
- }
- console.log(`Total time: ${totalTime}`);
- let sortedPlayTime = Object.entries(playTimes)
- .sort((a, b) => {
- return b[1] - a[1] || a[0].localeCompare(b[0]);
- })
- .forEach(element => {
- console.log(`${element[0]} -> ${element[1]}`);
- });
- console.log(bandToPrint);
- bands[bandToPrint].forEach(element => {
- console.log(`=> ${element}`);
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement