Problem : 후위 표기식
유형 : 스택
문제 해석
- 주어진 중위 표기식을 후위 표기식으로 변경하여라.
문제 재해석
(
,)
와 같은 괄호 처리를 고려한다.
해결 전략
스택
을 이용하여, 순서를 고려하여 구현한다.스택
에 들어가는것이, 현재 스택에서최상위
우선순위가 될때까지pop
을 진행한다.- 즉
스택
에 있는 연산자의 우선순위가 같거나 크다면pop
한다.
설계, 구현
스택
자료구조를 이용한다.숫자
인경우, 그냥 출력한다.
숫자가 아닌 경우
괄호
인지를 확인한다.(
의 경우, 항상 연산자 순위를 최하위로 결정한다.- 항상 스택에
push
한다. )
의 경우,(
를 만날때까지pop
한다.
연산자
인 경우, 우선순위에 맞춰push
pop
을 진행한다.+
,-
인 경우,(
를 제외한다면 최하위 우선순위이다.%
,*
인 경우, 본인들과 동일한것들을pop
한다.
주의할 점
- 항상 스택의
empty
상태를 확인하기.
코드
1 |
|
피드백
- 구현 속도를 좀더 올려야 할 것 같다.