Advertisement
Todorov_Stanimir

04. SoftUni Exam Results Fundamentals Exam - 01 July 2018

Jul 25th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function softuniExamResults(input) {
  2.     let participants = {};
  3.     let languages = {};
  4.     while ((line = input.shift()) !== 'exam finished') {
  5.         let [name, languageOrBanned, points] = line.split('-');
  6.         if (languageOrBanned !== 'banned') {
  7.             let language = languageOrBanned;
  8.             points = Number(points);
  9.             (!participants[name]) ? participants[name] = points : participants[name] = Math.max(points, participants[name]);
  10.             (!languages[language]) ? languages[language] = 1 : languages[language]++
  11.         } else {
  12.             delete participants[name];
  13.         }
  14.     }
  15.  
  16.     Object.entries(participants).sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0])).forEach((participant, ind) => {
  17.         console.log((ind === 0) ? `Results:\n${participant[0]} | ${participant[1]}` : `${participant[0]} | ${participant[1]}`);
  18.     });
  19.  
  20.     Object.entries(languages).sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0])).forEach((language, ind) => {
  21.         console.log((ind === 0) ? `Submissions:\n${language[0]} - ${language[1]}` : `${language[0]} - ${language[1]}`);
  22.     });
  23. }
  24. softuniExamResults(['Pesho-Java-84',
  25.     'Gosho-C#-70',
  26.     'Gosho-C#-84',
  27.     'Kiro-C#-94',
  28.     'exam finished'
  29. ]);
  30. softuniExamResults(['Pesho-Java-91',
  31.     'Gosho-C#-84',
  32.     'Kiro-JavaScript-90',
  33.     'Kiro-C#-50',
  34.     'Kiro-banned',
  35.     'exam finished'
  36. ]);
  37.  
  38. // Results:
  39. // Kiro | 94
  40. // Gosho | 84
  41. // Pesho | 84
  42. // Submissions:
  43. // C# - 3
  44. // Java - 1
  45. // Results:
  46. // Pesho | 91
  47. // Gosho | 84
  48. // Submissions:
  49. // C# - 2
  50. // Java - 1
  51. // JavaScript - 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement