Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function familySeats(row, reserved) {
- const rowsOfSeats = [];
- let reservedSeats = reserved.split(" ");
- let noOfThreeSeatsAvailable = 0;
- for (let i = 1; i < row + 1; i++) {
- rowsOfSeats.push([i + "A", i + "B", i + "C", i + "D", i + "E", i + "F", i + "G", i + "H", i + "J", i + "K"])
- }
- //loop the rows
- for (let i = 0; i < rowsOfSeats.length; i++) {//calculate the
- let seat = rowsOfSeats[i];
- //loop seats backwards because splice function removes elements.
- //If you loop forwards it will skips elements due to the seat array being transformed by splice.
- for (var j = seat.length - 1; j >= 0; j--) {
- //loop reservedSeats
- for (let k = 0; k < reservedSeats.length; k++) {
- //Remove reserved seats from available seats array
- if (seat[j] === reservedSeats[k]) {
- rowsOfSeats[i].splice(j, 1);
- }
- }
- }
- }
- for (let i = 0; i < rowsOfSeats.length; i++){
- let rowNumber = i + 1;
- if (rowsOfSeats[i].includes(rowNumber + "A") && rowsOfSeats[i].includes(rowNumber + "B") && rowsOfSeats[i].includes(rowNumber + "C")) noOfThreeSeatsAvailable ++;
- if (rowsOfSeats[i].includes(rowNumber + "D") && rowsOfSeats[i].includes(rowNumber + "E") && rowsOfSeats[i].includes(rowNumber + "F") ||
- (rowsOfSeats[i].includes(rowNumber + "E") && rowsOfSeats[i].includes(rowNumber + "F") && rowsOfSeats[i].includes(rowNumber + "G"))) noOfThreeSeatsAvailable ++;
- if (rowsOfSeats[i].includes(rowNumber + "H") && rowsOfSeats[i].includes(rowNumber + "J") && rowsOfSeats[i].includes(rowNumber + "K")) noOfThreeSeatsAvailable ++;
- }
- console.log(noOfThreeSeatsAvailable);
- return noOfThreeSeatsAvailable;
- }
- familySeats(2, "1A");
Add Comment
Please, Sign In to add comment