프로그래머스 Lv2 수식최대화

taeng·2022년 2월 25일
0

알고리즘

목록 보기
3/12

function solution(expression) {
var result = [];
var arr = [ ['*','+','-'],
['*','-','+'],
['+','*','-'],
['+','-','*'],
['-','*','+'],
['-','+','*']
]

for(let i=0; i<arr.length; i++){
  var exp = expression.split(/(\D)/);
  for(let j=0; j<arr[i].length;j++){
    while(exp.includes(arr[i][j])){
      var idx = exp.indexOf(arr[i][j]);
      if(arr[i][j]=='*'){
        exp.splice(idx-1,3,exp[idx-1]*exp[idx+1]);
      }else if(arr[i][j]=='+'){ 
        exp.splice(idx-1,3,(exp[idx-1]*1)+(exp[idx+1]*1));
      }else{
        exp.splice(idx-1,3,exp[idx-1]-exp[idx+1]);
      }
    }
    if(exp.length==1){
      result.push(Math.abs(exp[0]));
    }
  }
}
return Math.max(...result);

}

profile
주니어 백엔드 개발자 공부 정리

0개의 댓글