티스토리 뷰
반응형
문제
후위 연산식이 주어지면 계산한 값을 출력하시오.
식은 1~9의 숫자와 +, -, *, / 연산자로만 이루어집니다.
98+2*1-6+은 (8+9)*2-1+6와 같다.
입력 예제
98+2*1-6+
출력 예제
39
풀이
function solution(s) {
let answer = 0;
let stack = [];
for (let x of s) {
// 숫자일 경우
if(!isNaN(x)) stack.push(Number(x));
else {
// 요소 두 개를 꺼낸다.
let rt = stack.pop();
let lt = stack.pop();
if (x === '+') stack.push(lt + rt);
else if (x === '-') stack.push(lt - rt);
else if (x === '/') stack.push(lt / rt);
else if (x === '*') stack.push(lt * rt);
}
}
answer = stack[0];
return answer;
}
반응형
'Data Structure & Algorithm' 카테고리의 다른 글
[알고리즘-JS] 오름차순 정렬 - sort(), 선택 정렬, 버블 정렬 (0) | 2022.05.04 |
---|---|
[알고리즘-JS] 큐(Queue) - 공주 구하기 (0) | 2022.05.04 |
[알고리즘-JS] 스택(stack) - 소괄호 사이 문자 제거 (0) | 2022.05.04 |
[알고리즘-JS] 해시(hash) + 아나그램(Anagram) + 투 포인터(two pointer) + 슬라이딩 윈도(Sliding Window) (0) | 2022.05.04 |
[알고리즘-JS] 해시 (hash) - 아나그램 (Anagram) (0) | 2022.05.04 |