티스토리 뷰

덧뺄셈 스택 계산기

문제

스택 계산기의 원리를 이용해 수식을 분해하고 계산하기

1. 식 분할

입출력 예시

입력 출력
3 + 1 3 1 +
7 + 4 - 6 7 4 + 6 -
1 + 2 - 3 - 4 + 5 1 2 + 3 - 4 - 5 +
9 + 8 - 7 + 6 - 5 9 8 + 7 - 6 + 5 -

설명 : 스택 자료구조를 이용해 식을 계산한다.

수식을 읽어들이고 수가 입력되면 그대로 출력, 연산자가 입력되면 스택에 push.
연산자가 스택에 저장된 상태에서 연산자가 입력된다면 스택을 pop해 연산자를 꺼내어 출력하고, 새로 입력된 연산자를 push

소스코드

2. 계산

입출력 예시

입력 출력
3 + 1 4
7 + 4 - 6 5
1 + 2 - 3 - 4 + 5 1
9 + 8 - 7 + 6 - 5 11

설명 : 1-1에서 분해된 식을 계산한다.

분해된 수식 배열을 하나씩 꺼내어 숫자라면 스택에 push
연산자라면 스택에서 수를 두 개 꺼내어 연산자로 계산, 계산 결과를 다시 스택에 push

소스코드