Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(input) {
- class Student {
- constructor(name, grades) {
- this.name = name;
- this.grades = grades;
- this.average = 0;
- }
- getAverage() {
- this.average = this.grades.reduce((a, b) => a + b) / this.grades.length;
- }
- }
- let count = Number(input.shift());
- let data = input.slice(0).filter(x => x !== "");
- let list = [];
- for (const line of data) {
- let grades = line.split(" ");
- let name = grades.shift();
- let student = new Student(name, grades.map(Number));
- student.getAverage();
- list.push(student);
- }
- list
- .filter(x => x.average >= 5)
- .sort((a, b) => {
- if (a.name.localeCompare(b.name) === 0) {
- return b.average - a.average;
- }
- return a.name.localeCompare(b.name);
- })
- .forEach(student => {
- console.log(`${student.name} -> ${student.average.toFixed(2)}`);
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement