Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(params) {
- let finalList = {}
- let finalSubmissions = new Map()
- for (let param of params) {
- let counter = 1
- if (param === "exam finished") {
- break;
- }
- let [name, submissions, points] = param.split("-")
- points = +points;
- if (submissions === 'banned') {
- if (finalList.hasOwnProperty(name)) {
- delete finalList[name];
- }
- } else {
- if (!finalList.hasOwnProperty(name) || finalList[name] < points) {
- finalList[name] = points
- }
- if (finalSubmissions.has(submissions)) {
- let existingCount = finalSubmissions.get(submissions)
- counter += existingCount
- }
- finalSubmissions.set(submissions, counter)
- }
- }
- console.log('Results:')
- let sortedList = Object.entries(finalList).sort(function (a, b) {
- let result = b[1] - a[1];
- if (result === 0) {
- result = a[0].localeCompare(b[0]);
- }
- return result;
- }).forEach(line => console.log(`${line[0]} | ${line[1]}`))
- console.log('Submissions:')
- let sortedSubmisions = [...finalSubmissions].sort((a, b) => {
- let result = b[1] - a[1];
- if (result === 0) {
- result = a[0].localeCompare(b[0]);
- }
- return result;
- }).forEach(line => console.log(`${line[0]} - ${line[1]}`))
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement