이러한 괄호 문제는 stack을 이용하는 것이 바람직하다. 알고리즘의 stack 파트에서도 풀어봤던 문제다.

이번엔 단순한 문제이므로 그냥 푼다.

int main(int argc, char** argv) {
	int cnt = 0;
//	freopen("input.txt", "rt", stdin);
	char a[31];
	scanf("%s", &a);
	bool isValid = true;
	
	for(int i =0; a[i] != '\0'; ++i)
	{
		if(cnt < 0)
		{
			isValid = false;
			break;
		}
		if(a[i] == '(')
			cnt++;
		else
			cnt--;			
	}
	if(isValid)
		cout << "YES" <<endl;
	else
		cout << "NO" <<endl;
	return 0;
}