GREP

괄호 짝 맞추기

Lv. 1스택 · 문자열

문제 설명

설정 파일을 손으로 고치다 괄호를 빼먹는 일이 잦습니다. 괄호 문자열이 올바른지 검사해 주세요.

괄호는 (), [], {} 세 종류입니다. 올바른 문자열은 여는 괄호마다 같은 종류의 닫는 괄호가 짝을 이루고, 짝끼리 서로 엇갈리지 않습니다. 예를 들어 ([]{})는 올바르고, ([)]와 (()는 올바르지 않습니다.

입력

첫 줄에 문자열 수 T (1 ≤ T ≤ 100)가 주어집니다. 다음 T줄에 괄호로만 이루어진 문자열이 하나씩 주어집니다. 길이는 1 이상 100,000 이하입니다.

출력

문자열마다 올바르면 YES, 아니면 NO를 한 줄에 출력합니다.

제한 사항

  • 시간 제한 1초 — C·C++·Go 기준이고, 다른 언어는 더 줍니다.
  • 메모리 제한 256MB
  • 제출하면 예시 1개와 숨은 테스트 3개로 채점합니다.

입출력 예

입력 #1

4
([]{})
([)]
(()
{[()()]}

출력 #1

YES
NO
NO
YES
편집기를 준비하고 있어요…