Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(args) {
- let inputLine = args.shift();
- const records = {};
- while (inputLine !== 'Log out') {
- let [command, username, count] = inputLine.split(': ');
- count = Number(count);
- switch (command) {
- case 'New follower':
- if (!Object.prototype.hasOwnProperty.call(records, username)) {
- records[username] = { likes: 0, comments: 0 };
- }
- break;
- case 'Like':
- if (!Object.prototype.hasOwnProperty.call(records, username)) {
- records[username] = { likes: count, comments: 0 };
- } else {
- records[username].likes += count;
- }
- break;
- case 'Comment':
- if (!Object.prototype.hasOwnProperty.call(records, username)) {
- records[username] = { likes: 0, comments: 1 };
- } else {
- records[username].comments += 1;
- }
- break;
- case 'Blocked':
- if (Object.prototype.hasOwnProperty.call(records, username)) {
- delete records[username];
- } else {
- console.log(`${username} doesn't exist.`);
- }
- break;
- default:
- break;
- }
- inputLine = args.shift();
- }
- console.log(`${Object.keys(records).length} followers`);
- Object.entries(records)
- .sort((a, b) => b[1].likes - a[1].likes || a[0].localeCompare(b[0]))
- .forEach((element) => {
- const [username, props] = element;
- const { likes, comments } = props;
- const sum = likes + comments;
- console.log(`${username}: ${sum}`);
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement