Code:

#include<string>
#include <iostream>
#include <stack>

using namespace std;

bool solution(string s)
{
    stack<char> st;

    for(int i=0; i <s.length(); i++){
        if(s.at(i) == '('){
            st.push(s.at(i));
        } else {
            if(st.empty())
                return false;

            if(st.top() == '('){
                st.pop();
                continue;
            } else {
                return false;
            }
        }
    }
    return (st.empty()) ? true : false;
    
}

Test Case:

()()

Result:

true

Test Case:

(()(

Result:

false