Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(input) {
- let capPerUsr = input.shift();
- let obj = {};
- let arr = [];
- while (input[0] !== 'Statistics') {
- let cur = input.shift().split('=');
- let command = cur.shift();
- if (command === 'Add') {
- let userName = cur[0];
- let number = Number(cur[1]) + Number(cur[2]);
- if (!obj.hasOwnProperty(userName)) {
- obj[userName] = number;
- }
- } else if (command === 'Message') {
- let sender = cur[0];
- let reciever = cur[1];
- if (obj.hasOwnProperty(sender) && obj.hasOwnProperty(reciever)) {
- obj[sender] += 1;
- obj[reciever] += 1;
- if (obj[sender] === Number(capPerUsr)) {
- delete obj[sender];
- console.log(`${sender} reached the capacity!`);
- }
- if (obj[reciever] === Number(capPerUsr)) {
- delete obj[reciever];
- console.log(`${reciever} reached the capacity!`);
- }
- }
- } else if (command === 'Empty') {
- let userName = cur[0];
- if (obj.hasOwnProperty(userName)) {
- delete obj[userName];
- }
- if (userName === 'All') {
- obj = {};
- }
- }
- }
- for (let key in obj) {
- arr.push([key, obj[key]]);
- }
- arr.sort((a, b) => a[1] === b[1] ? a[0].localeCompare(b[0]) : b[1] - a[1]);
- console.log(`Users count: ${arr.length}`);
- for (let el of arr) {
- console.log(`${el[0]} - ${el[1]}`);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement