Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(input){
- let followers = {};
- persons = 0;
- for(let i = 0; i < input.length; i++){
- let [ command, username, count] = input[i].split(': ');
- // console.log(command);
- switch(command){
- case "New follower":
- if(!followers.hasOwnProperty(username)){
- followers[username] = []; persons++;
- }
- break;
- case "Like":
- if(!followers.hasOwnProperty(username)){
- followers[username] = [];
- followers[username].push(count);
- persons++;
- } else {
- followers[username] += count;
- }
- break;
- case "Comment":
- if(!followers.hasOwnProperty(username)){
- followers[username] = []; ;
- followers[username] = 1;
- persons++;
- } else {
- followers[username]++;
- }
- break;
- case "Blocked":
- if(followers.hasOwnProperty(username)){
- delete followers[username];
- persons--;
- } else {
- console.log(`${username} doesn't exist.`);
- }
- break;
- case "Log out":
- break;
- }
- }
- let sorted = Object.entries(followers).sort((a, b) => b[1] - a[1]
- || a[0].localeCompare(b[0]));
- console.log(`${persons} followers`);
- for(let kvp of sorted){
- console.log(`${kvp[0]}: ${kvp[1]}`);
- }
- }
- solve([
- 'New follower: gosho',
- 'Like: gosho: 5',
- 'Comment: gosho',
- 'New follower: gosho',
- 'New follower: tosho',
- 'Comment: gosho',
- 'Comment: tosho',
- 'Comment: pesho',
- 'Log out'
- ]
- );
- solve([
- 'Like: A: 3',
- 'Comment: A',
- 'New follower: B',
- 'Blocked: A',
- 'Comment: B',
- 'Like: C: 5',
- 'Like: D: 5',
- 'Log out']);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement