<Medium> Evaluate Reverse Polish Notation (LeetCode : C#)

이도희·2023년 4월 30일
0

알고리즘 문제 풀이

목록 보기
68/185

https://leetcode.com/problems/evaluate-reverse-polish-notation/

📕 문제 설명

postfix notation로 작성된 식의 결과 반환

  • Input
    postfix로 작성된 식 (string[])
  • Output
    연산 결과

예제

풀이

단순 postfix 문제이다. 다음 과정을 반복하며 연산을 진행한다.

1) 피연산자를 만나면 stack에 push
2) 연산자를 만나면 stack에서 두개 꺼내서 연산 후 다시 넣기

public class Solution {
    public int EvalRPN(string[] tokens) {

        Stack<int> stack = new Stack<int>();

        foreach(string token in tokens)
        {
            switch(token)
            {
                case "+":
                    stack.Push(stack.Pop() + stack.Pop());
                    break;
                case "-":
                    int temp = stack.Pop();
                    stack.Push(stack.Pop() - temp);
                    break;
                case "/":
                    int temp2 = stack.Pop();
                    stack.Push(stack.Pop() / temp2);
                    break;
                case "*":
                    stack.Push(stack.Pop() * stack.Pop());
                    break;
                default:
                    stack.Push(Int32.Parse(token));
                    break;
            }
        }

        return stack.Peek();
        
    }
}

결과

profile
하나씩 심어 나가는 개발 농장🥕 (블로그 이전중)

0개의 댓글