Mhwan's Study/Algorithms
-
[알고리즘/Stack] 후위표기식으로 변환 및 계산Mhwan's Study/Algorithms 2021. 1. 6. 01:26
3+2*4-9/3의 연산 결과는 8이 나와야한다. 이는 중위표기식으로 표현한 식인데, 컴퓨터를 통해 각 연산자의 우선순위대로 계산을 하려면 후위표기식으로 변환해서 계산해야한다. 3+2*4-9/3 --> 324*+93/-으로 변환되고 이를 계산하면 8이 된다. 실제로 이 알고리즘은 어느 회사 면접에서 라이브 코딩으로 물어봤던 내용이다. 예전부터 공부했지만, 매번 까먹는 내용이다보니 확실히 기억하기 위해 상세히 적어본다.. # 후위 표기식으로 변환 1. 숫자는 바로 변환하는 후위식에 넣어준다. 2. 연산자일 경우 스택에 넣는다. (단, 스택에 현재 연산자보다 우선순위가 낮은게 있을때까지 빼서 후위식에 넣어준다. 그 다음 스택에 넣기) (이는 즉, 스택에 현재 연산자보다 우선순위가 높거나 같은건 다 나와야 한..