Advertisement
maymunskoa

4. Jan's Notation

Feb 18th, 2020
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(input){
  2.     let arr = input.slice(0);
  3.     let nums = [];
  4.    
  5.     while(arr.length>0){
  6.         let operator = '';
  7.         let result = 0;
  8.         if(typeof(arr[0])=== 'number'){
  9.             nums.push(arr.shift());
  10.         }else{
  11.             operator = arr.shift();
  12.             switch(operator){
  13.                 case '+':
  14.                 result = nums[nums.length-2] + nums[nums.length-1];
  15.                 break;
  16.  
  17.                 case '-':
  18.                     result = nums[nums.length-2] - nums[nums.length-1];
  19.                 break;
  20.  
  21.                 case '*':
  22.                     result = nums[nums.length-2] * nums[nums.length-1];
  23.                 break;
  24.  
  25.                 case '/':
  26.                     result = nums[nums.length-2] / nums[nums.length-1];
  27.                 break;
  28.             }
  29.             nums.splice(-2,2,result);
  30.         }
  31.     }
  32.     if(nums.length>1){
  33.         console.log(`Error: too many operands!`);
  34.     }else if(Number.isNaN(nums[0])){
  35.         console.log(`Error: not enough operands!`);
  36.     }else{
  37.         console.log(nums[0]);
  38.     }
  39.  
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement