Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function needForSpeed(arr) {
- let carsNumber = Number(arr.shift());
- let carGarage = {};
- for (let x = 0; x < carsNumber; x++) {
- let tokens = arr.shift().split("|")
- let currModelCar = tokens[0];
- let mileage = Number(tokens[1]);
- let fuel = Number(tokens[2]);
- carGarage[currModelCar] = [];
- carGarage[currModelCar].push(mileage, fuel);
- let gasLeft = 0;
- let currMileage = 0
- }
- for (let i = 0; i < arr.length; i++) {
- let tokens = arr.shift().split(" : ");
- let comand = tokens[0];
- let info = tokens.slice(1);
- switch (comand) {
- case "Drive":
- let carToDrive = info[0];
- let distance = Number(info[1]);
- let gas = Number(info[2]);
- if (carGarage[carToDrive][1] >= gas) {
- gasLeft = carGarage[carToDrive][1] - gas;
- currMileage = carGarage[carToDrive][0] + distance
- carGarage[carToDrive].splice(0, 2, currMileage, gasLeft);
- console.log(`${carToDrive} driven for ${distance} kilometers. ${gas} liters of fuel consumed.`)
- } else {
- console.log("Not enough fuel to make that ride")
- } break;
- case "Refuel":
- let carToRefuel = info[0];
- let addGas = Number(info[1]);
- let posibileGas = Math.min(75 - carGarage[carToRefuel][1], addGas);
- let newFuel = carGarage[carToRefuel][1] + posibileGas;
- carGarage[carToRefuel].splice(1, 1, newFuel);
- console.log(`${carToRefuel} refueled with ${posibileGas} liters"`);
- break;
- default:
- break;
- }
- }
- }
- needForSpeed([
- '3',
- 'Audi A6|38000|62',
- 'Mercedes CLS|11000|35',
- 'Volkswagen Passat CC|45678|5',
- 'Drive : Audi A6 : 543 : 47',
- 'Drive : Mercedes CLS : 94 : 11',
- 'Drive : Volkswagen Passat CC : 69 : 8',
- 'Refuel : Audi A6 : 50',
- 'Revert : Mercedes CLS : 500',
- 'Revert : Audi A6 : 30000',
- 'Stop']);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement