7014 : 괄호 균형 검사
•시간제한: 1.000 S
•메모리제한: 256 MB
•제출: 1
•통과: 1
•만든사람: suakii
문제 설명
소괄호 `()`, 중괄호 `{}`, 대괄호 `[]`가 혼합되어 나타나는 여러 문자열에 대하여, 각 문자열 내의 괄호들의 짝이 올바르게 여닫혀 균형이 맞는지 검사하는 프로그램을 작성하시오.
괄호 이외의 문자는 괄호 균형 검사에 아무런 영향을 주지 않는다.
[제약 조건]
• 문자열 개수 $N$: $1 \le N \le 100$
• 각 줄의 길이: $\le 500$
[제약 조건]
• 문자열 개수 $N$: $1 \le N \le 100$
• 각 줄의 길이: $\le 500$
입력 설명
첫째 줄에 검사할 문자열 개수 주어진다. 둘째 줄부터 줄에 문자열이 하나씩 주어진다. ($1 \le N \le 100$, 각 줄의 길이 $\le 500$, 빈 문자열일 수 있음)
출력 설명
각 줄별로 괄호의 균형이 잘 맞으면 `YES`, 아니면 `NO`를 한 줄에 하나씩 출력한다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
3
( [ { } ] )
a (b [c] d) e
(((
출력 예시
COPY
복사되었습니다!
복사되었습니다!
YES
YES
NO
도움
스택 자료구조를 이용해 여는 괄호는 push하고, 닫는 괄호는 pop하여 짝이 맞는지 검사한다. 빈 문자열은 YES로 취급한다.