Advertisement
EntropyStarRover

Exam JS

Jun 22nd, 2019
199
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 1.Party profit
  2. function partyProfit(input) {
  3.     let partySize = Number(input[0]);
  4.     let days = Number(input[1]);
  5.  
  6.  
  7.     let profit = 0;
  8.  
  9.     for (let i = 1; i <= days; i++) {
  10.  
  11.  
  12.         if (i % 10 === 0) {
  13.             partySize -= 2;
  14.  
  15.         }
  16.         if (i % 15 === 0) {
  17.             partySize += 5;
  18.         }
  19.  
  20.         profit += 50;
  21.         profit -= 2 * partySize;
  22.  
  23.  
  24.         if (i % 3 === 0) {
  25.             profit -= 3 * partySize;
  26.         }
  27.  
  28.  
  29.         if (i % 5 === 0) {
  30.             profit += 20 * partySize;
  31.  
  32.             if (i % 3 === 0) {
  33.                 profit -= partySize * 2;
  34.             }
  35.         }
  36.     }
  37.  
  38.     let personalProfit = Math.floor(profit / partySize);
  39.     console.log(`${partySize} companions received ${personalProfit} coins each.`)
  40. }
  41.  
  42.  
  43.  
  44. 2.Easter Gifts
  45. function easterGifts(input){
  46.  
  47. let gifts=input[0].split(" ");
  48.    let commands=input.slice(1);
  49.    
  50.  
  51.  
  52.    for (let i=0; i<commands.length-1; i++){
  53.        let command=commands[i];
  54.  
  55.        if (command.includes("OutOfStock"));
  56.        let outArr=command.split(" ");
  57.        let item=outArr[1];
  58.    
  59.        if (gifts.includes(item)){
  60.          
  61.       for (let i=0; i<gifts.length; i++){
  62.           let gift=gifts[i];
  63.           if (gift==item){
  64.             gifts[i]="None"
  65.           }
  66.       }
  67.        }
  68.  
  69.        if (command.includes("Required")){
  70.         let reqArr=command.split(" ");
  71.         let newGift=reqArr[1];
  72.         let indexOfOldGift=reqArr[2];
  73.        
  74.  
  75.         if (indexOfOldGift>=0 && indexOfOldGift<gifts.length){
  76.             gifts.splice(indexOfOldGift,1,newGift);
  77.         }
  78.        }
  79.  
  80.        if (command.includes ("JustInCase")){
  81.            let jucArr=command.split(" ");
  82.            let ng=jucArr[1];
  83.            
  84.            gifts[gifts.length-1]=ng;
  85.        }
  86.    }
  87.  
  88.    let line="";
  89.     for (let i=0; i<gifts.length; i++){
  90.         let gift=gifts[i];
  91.         if (gift!=="None"){
  92.             line+=gift+" ";
  93.         }
  94.     }
  95.     console.log(line);
  96. }
  97.  
  98. 3.Last Stop
  99. function lastStop(input){
  100.     let paintingsArr=input[0].split(" ");
  101.     let commandsArr=input.slice(1);
  102.  
  103.  
  104.    for (let i=0; i<commandsArr.length; i++){
  105.        let command=commandsArr[i];
  106.         if (command.includes("Insert")){
  107.             let insertArr=command.split(" ");
  108.             let place=insertArr[1];
  109.             place++;  
  110.             let paintingNumber=insertArr[2];    
  111.             if (place<paintingsArr.length&& place>=0){
  112.             paintingsArr.splice(place,0,paintingNumber);
  113.             }
  114.    
  115.         }
  116.         if (command.includes("Switch")){
  117.             let switchArr=command.split(" ");
  118.             let paintingOne=switchArr[1];
  119.             let paintingTwo=switchArr[2];
  120.             let p1Index=paintingsArr.indexOf(paintingOne);
  121.             let p2Index=paintingsArr.indexOf(paintingTwo);
  122.  
  123.             if (p1Index>=0&& p1Index<paintingsArr.length && p2Index>=0 && p2Index<paintingsArr.length){
  124.             paintingsArr.splice(p1Index,1,paintingTwo);
  125.             paintingsArr.splice(p2Index,1,paintingOne);
  126.             }
  127.         }
  128.  
  129.         if (command.includes("Hide")){
  130.             let hideArr=command.split(" ");
  131.             let paintingToRemove=hideArr[1];
  132.            if (paintingsArr.includes(paintingToRemove)){
  133.                let indexOfPaintingToRemove=paintingsArr.indexOf(paintingToRemove);
  134.                paintingsArr.splice(indexOfPaintingToRemove,1);
  135.      
  136.            }
  137.         }
  138.  
  139.         if (command.includes("Reverse")){
  140.             paintingsArr=paintingsArr.reverse();
  141.      
  142.         }
  143.  
  144.         if (command.includes("Change")){
  145.            let changeArr=command.split(" ");
  146.            let paintingToBeChanged=changeArr[1];
  147.            let changedPainting=changeArr[2];
  148.            if (paintingsArr.includes(paintingToBeChanged)){
  149.                let indexOfPainting=paintingsArr.indexOf(paintingToBeChanged);              
  150.                paintingsArr[indexOfPainting]=changedPainting;
  151.            
  152.            }
  153.         }
  154.  
  155.         if (command.includes("END")){
  156.             break;
  157.         }
  158.     };
  159.  
  160.     console.log(paintingsArr.join(" "));
  161. }
Advertisement
RAW Paste Data Copied
Advertisement