Advertisement
Lyubohd

09. On Time for the Exam

Jan 27th, 2020
338
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(input) {
  2.     let hourOfExam = Number(input.shift());
  3.     let minutesOfExam = Number(input.shift());
  4.     let hoursOfArriving = Number(input.shift());
  5.     let minutesOfArriving = Number(input.shift());
  6.  
  7.     let totalMinutesOfExam = hourOfExam * 60 + minutesOfExam; // Изчисляваме минутите в които започва изпита
  8.     let totalMinutesOfArriving = hoursOfArriving * 60 + minutesOfArriving; // Изчисляваме минутите в които пристига ученика
  9.  
  10.     // ако минутите на пристигане са повече от тези на изпита, следователно е закъснял
  11.     if (totalMinutesOfArriving > totalMinutesOfExam) {
  12.         console.log("Late"); // печатаме съобщението за закъснение
  13.         let timeLate = totalMinutesOfArriving - totalMinutesOfExam; // изчисляваме с колко време е закъснял
  14.         if (timeLate < 60) { // ако е закъснял с по-малко от 60 минути
  15.             console.log(`${timeLate} minutes after the start`); // печатаме съобщението за закъснение с по-малко от час
  16.         } else { // ако е закъснял с повече от 60 минути
  17.             let hours = Math.floor(timeLate / 60); // намираме с колко часа е закъснял
  18.             let minutes = timeLate % 60; // с колко минути е закъснял
  19.             if (minutes < 10) { // проверяваме дали минутите са по-малко от 10
  20.                 console.log(`${hours}:0${minutes} hours after the start`); // печатаме съобщението с водеща нула
  21.             } else {
  22.                 console.log(`${hours}:${minutes} hours after the start`); // ако са повече или равни от 10
  23.             }
  24.         }
  25.     } else if (totalMinutesOfExam - totalMinutesOfArriving <= 30) { // ако е подранил с до 30 минути включително
  26.         console.log("On time"); // печатаме съобщението за пристигане на време
  27.         let early = totalMinutesOfExam - totalMinutesOfArriving; // изчисляваме с колко минути по-рано е дошъл
  28.         if (early !== 0) { // ако е подранил с повече от една минута
  29.             console.log(`${early} minutes before the start`); // печатаме съобщението с колко минути е закъснял
  30.         }
  31.     } else if (totalMinutesOfExam - totalMinutesOfArriving > 30) { // ако е подранил със повече от 30 минути
  32.         console.log("Early"); // печатаме съобщението за по-ранното пристигане
  33.         let earlyMinutes = totalMinutesOfExam - totalMinutesOfArriving; // излисяваме с общо колко минути е подранил
  34.         let hours = Math.floor(earlyMinutes / 60); // намираме с колко часа е подранил
  35.         let minutes = earlyMinutes % 60; // намираме с колко минути е подранил
  36.  
  37.         if (earlyMinutes < 60) { // ако е подранил с по-малко от час
  38.             console.log(`${minutes} minutes before the start`); // принтираме съобщението за подраняване с минути
  39.         } else { // ако е подранил със повече от час
  40.             if (minutes < 10) { // ако минутите са по-малко от 10
  41.                 console.log(`${hours}:0${minutes} hours before the start`); // принтираме съобщението с водеща нула
  42.             } else { // ако минутите са повече или равни на 10
  43.                 console.log(`${hours}:${minutes} hours before the start`); // принтираме нужното съобщение
  44.             }
  45.         }
  46.     }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement