Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve (input) {
- let participants = input.shift().split(', ');
- let regexWords = /[A-Za-z]+/g;
- let regexNumbers = /[0-9]/g;
- let result = {};
- for (let racer of input) {
- if (racer === 'end of race') {
- break;
- }
- let name = racer.match(regexWords).join('');
- let score = racer.match(regexNumbers).reduce((a, b) => Number(a)+ Number(b));
- if (participants.indexOf(name) >= 0) {
- if (!(name in result)) {
- result[name] = [];
- result[name].push(Number(score));
- } else {
- result[name].push(Number(score));
- }
- }
- }
- let finalRace = [];
- for (let players in result) {
- let sum = result[players].reduce((a,b) => a + b);
- result[players]['sum'] = sum;
- finalRace.push([players, sum]);
- }
- let finalResult = finalRace.sort((a, b) => b[1] - a[1]);
- let counter = 1;
- for (let i = 0; i < finalResult.length; i++) {
- let finalPlayer = finalResult[i];
- if (counter === 1) {
- console.log (`1st place: ${finalPlayer[0]}`);
- } else if (counter === 2) {
- console.log (`2nd place: ${finalPlayer[0]}`);
- } else if (counter === 3) {
- console.log (`3rd place: ${finalPlayer[0]}`);
- } else {
- break;
- }
- counter++;
- }
- }
- solve ([ 'George, Peter, Bill, Tom',
- 'G4e@55or%6g6!68e!!@',
- 'R1@!3a$y4456@',
- 'B5@i@#123ll',
- 'G@e54o$r6ge#',
- '7P%et^#e5346r',
- 'T$o553m&6',
- 'end of race' ])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement