Advertisement
miroLLL

Exam preparation problem

Feb 9th, 2020
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(input) {
  2.  
  3.     let minPoorGrades = Number(input.shift());
  4.  
  5.     let allGrades = 0;
  6.     let examCount = 0;
  7.     let lastExam = "";
  8.     let poorGrades = 0;
  9.  
  10.     let currentExam = input.shift();
  11.     let currentGrade = Number(input.shift());
  12.  
  13.     let isEnough = (currentExam !== "Enough");
  14.     let isPoorGradesHit = (poorGrades < minPoorGrades);
  15.  
  16.     while (isEnough && isPoorGradesHit) {
  17.  
  18.         if (currentGrade <= 4) {
  19.             poorGrades++;
  20.         }
  21.  
  22.         lastExam = currentExam;
  23.         examCount++;
  24.         allGrades += currentGrade;
  25.  
  26.         // end of the current exam
  27.  
  28.         currentExam = input.shift();
  29.         currentGrade = Number(input.shift());
  30.  
  31.         isEnough = currentExam !== "Enough";
  32.         isPoorGradesHit = (poorGrades < minPoorGrades);
  33.     }
  34.  
  35.  
  36.     if (poorGrades < minPoorGrades) {
  37.         let averageGrade = (allGrades / examCount).toFixed(2);
  38.  
  39.         console.log(`Average score: ${averageGrade}`);
  40.         console.log(`Number of problems: ${examCount}`);
  41.         console.log(`Last problem: ${lastExam}`);
  42.     } else {
  43.         console.log(`You need a break, ${poorGrades} poor grades.`)
  44.     }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement