Advertisement
Lulunga

mid exam 02. Seize the Fire

Jun 29th, 2019
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(input) {
  2.     let fires = input[0].split('#');
  3.     let water = Number(input[1]);
  4.  
  5.     let validCells = [];
  6.     let totalEffort = 0;
  7.     let totalFire = 0;
  8.  
  9.     fires
  10.         .forEach((fireLine) => {
  11.             let [typeOfFire, cellValue] = fireLine.split(' = ');
  12.             cellValue = Number(cellValue);
  13.             let isValid = isFireValid(typeOfFire, cellValue)
  14.             if (isValid && water >= cellValue) {
  15.                 water -= cellValue;
  16.                 totalEffort += 0.25 * cellValue;
  17.                 totalFire += cellValue;
  18.                 validCells.push(cellValue);
  19.             }
  20.         });
  21.     console.log(`Cells:`);
  22.     validCells
  23.         .forEach((cell) => {
  24.             console.log(` - ${cell}`);
  25.         });
  26.     console.log(`Effort: ${totalEffort.toFixed(2)}`);
  27.     console.log(`Total Fire: ${totalFire}`);
  28.     function isFireValid(type, value) {
  29.         if (type === 'High' && value >= 81 && value <= 125) {
  30.             return true;
  31.         } else if (type === 'Medium' && value >= 51 && value <= 80) {
  32.             return true;
  33.         } else if (type === 'Low' && value >= 1 && value <= 50) {
  34.             return true;
  35.         }
  36.         return false;
  37.     }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement