Balanced Parentheses Validator (C++) CPP

📄 Raw
#include <iostream>
#include <string>

using namespace std;

int main(){
  string s, stk = "";
  getline(cin, s);
  for(char c : s){
    if(c == &#039;(&#039; || c == &#039;{&#039; || c == &#039;[&#039;){
      stk += c;
    }else if(c == &#039;)&#039; || c == &#039;}&#039; || c == &#039;]&#039;){
      if(stk.empty() || (c == &#039;)&#039; && stk.back() != &#039;(&#039;) || (c == &#039;}&#039; && stk.back() != &#039;{&#039;) || (c == &#039;]&#039; && stk.back() != &#039;[&#039;)){
        stk += &#039; &#039;;
        break;
      }
      stk.pop_back();
    }
  }
  cout << (stk.empty() ? "Balanced\n" : "Not Balanced\n");
  return 0;
}