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