코테준비 - Evaluate Reverse Polish Notation

정상화·2023년 2월 26일

LeetCode

목록 보기
145/222

Evaluate Reverse Polish Notation

class Solution {
public:
    int evalRPN(vector<string>& tokens) {
        stack<int> stk;
        unordered_set<string> operands = {"+","-","*","/"};
        for (auto &token: tokens) {
            if (operands.find(token) != operands.end()) {
                int op2 = stk.top();stk.pop();
                int op1 = stk.top();stk.pop();
                if (token == "+") {
                    stk.push(op1 + op2);
                } else if(token == "-") {
                    stk.push(op1 - op2);
                } else if(token == "*") {
                    stk.push(op1 * op2);
                } else {
                    stk.push(op1 / op2);
                }
            } else {
                stk.push(stoi(token));
            }
        }
        return stk.top();
    }
};
profile
백엔드 희망

0개의 댓글