작성
·
254
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
function solution() {
let answer;
let calStack = [];
for(let i of cal) {
if(isNaN(i)) {
let num1 = calStack.pop();
let num2 = calStack.pop();
let val = 0;
switch(i) {
case '+':
val = num1 + num2;
break;
case '-':
val = num2 - num1;
break;
case '*':
val = num1 * num2;
break;
case '/':
val = num2 / num1;
break;
}
calStack.push(val);
} else calStack.push(Number(i)); // i는 문자이기 때문에 숫자로 바꾸어 stack에 push 해야함
}
answer = calStack[0];
return answer;
}
let cal = "352+*9-";
console.log(solution());
switch 문을 이용해서 문제를 풀었는데 괜찮은 코드인가요? 효율성면에서 if문이 switch문보다 좋은지도 궁금합니다.