문자열을 돌면서 '('가 나오면 +카운팅, ')'가 나오면 -카운팅을 해준다.
value
가 0이면 올바른 괄호이다. value
가 음수면 false를 리턴한다.
#include<string>
#include <iostream>
using namespace std;
bool solution(string s)
{
int value = 0;
for (char ch : s)
{
if (value < 0) return false;
if (ch == '(') ++value;
else --value;
}
return value == 0;
}
int main()
{
cout << solution(")()(") << endl;
}
실행결과
false