$O(nl)$
스택에 '('이 나오면 push, ')'이 나오면 pop을 한다. 스택이 비었을 때 pop명령을 수행해야했거나 모든 괄호를 처리했을 때 스택이 비어있지 않으면 "NO"를 출력하고 아니면 "YES"를 출력한다.
#include<cstdio> int n; char s[51]; int main() { scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%s", s); int c = 0; for (int j = 0; s[j] && c >= 0; j++) s[j] == '(' ? c++ : c--; puts(c ? "NO" : "YES"); } return 0; }
댓글 없음 :
댓글 쓰기