Advertisement
miroLLL

Cinema Tickets Problem - Miro

May 30th, 2020
986
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(input) {
  2.  
  3.     let film = input.shift();
  4.  
  5.     let totalSoldTickets = 0;
  6.     let totalStudentTickets = 0;
  7.     let totalStandartTickets = 0;
  8.     let totalKidsTickets = 0;
  9.  
  10.     while (film !== "Finish") {
  11.  
  12.         let capacity = Number(input.shift());
  13.  
  14.         let ticket = input.shift();
  15.         let soldTickets = 0;
  16.  
  17.         let students = 0;
  18.         let standard = 0;
  19.         let kids = 0;
  20.  
  21.         while ((ticket !== "End") && (soldTickets < capacity)) {
  22.  
  23.             switch (ticket) {
  24.                 case "student":
  25.                     students++;
  26.                     break;
  27.                 case "standard":
  28.                     standard++;
  29.                     break;
  30.                 case "kid":
  31.                     kids++;
  32.                     break;
  33.             }
  34.             soldTickets++;
  35.             ticket = input.shift();
  36.         }
  37.  
  38.         let capacityPercentage = (soldTickets / capacity) * 100;
  39.         console.log(`${film} - ${capacityPercentage.toFixed(2)}% full.`);
  40.  
  41.         totalSoldTickets += (students + standard + kids)
  42.         totalStudentTickets += students;
  43.         totalStandartTickets += standard;
  44.         totalKidsTickets += kids;
  45.  
  46.         if (ticket === "Finish") {
  47.             break;
  48.         } else if (soldTickets < capacity) {
  49.             film = input.shift();
  50.         } else {
  51.             film = ticket;
  52.         }
  53.     }
  54.  
  55.     console.log(`Total tickets: ${totalSoldTickets}`);
  56.  
  57.     console.log(`${((totalStudentTickets / totalSoldTickets) * 100).toFixed(2)}% student tickets.`)
  58.     console.log(`${((totalStandartTickets / totalSoldTickets) * 100).toFixed(2)}% standard tickets.`)
  59.     console.log(`${((totalKidsTickets / totalSoldTickets) * 100).toFixed(2)}% kids tickets.`)
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement