두자리수 이상, 음수 부호는 알아서 생각해라.
기본적으로 이런 식이면 된다.
1. 수식을 입력을 받는다.
2. 스택2개를 준비
연산자스택, 수식스택.
3. '('를 만나면 이를 연산자스택에 푸쉬
숫자를 만나면 수식스택에 푸쉬
연산자를 만나면 연산자스택에 다시 푸쉬
')'를 만나면 '('를 만날때까지 연산자 스택에 있는 내용을 팝하고 연산자만 수식스택에 넣음.
괄호는 버림.
ex>
(2+(3*4))
*
4 (
3 +
2 (
첫번째 ')'를 만나면
첫번째 '('까지 팝하고 연산자만 수식스택에 넣는다.
이제 또 ')'를 만나면 다시 '('를 만날때까지 팝하고 연산자만 수식스택에 넣음
*
4
3 +
2 (
+
*
4
3
2
이런 식으로 정리 됨.
계산을 하려면 이를 뒤집어서
2
3
4
*
+
이렇게 만들고
연산자가 나올 때까지 수식 스택에서 수를 pop해서 임시 스택에 저장하고
연산자가 나오면 임시 스택에서 숫자를 두개 팝해서 계산하면 됨.
어쩌라고
의롱고말거즤려ㄴrㅎH쥬ㅅH욘