Algorithm / / 2022. 3. 1. 21:35

[백준]9012번 괄호 문제 풀이

 

T = int(input())
result = []
for _ in range(T):
  VPS = input()
  num = 0
  for i in VPS: 
    if num < 0 :
      break
    if i == '(':
      num+=1
    if i == ')':
      num-=1
  if num == 0:
    result.append("YES")
  else:
    result.append("NO")
for item in result:
  print(item)

 

위 문제에서 포인트로 잡은것은 괄호의 수 입니다. 즉 문자를 하나씩 봤을때 ( 와 ) 문자가 있는데

1.이 두개의 숫자가 일치해야 한다.

2.괄호가 열렸으면 그 숫자만큼 닫혀야한다.

위의 두가지를 생각하여 괄호가 열리면 +1 닫히면 -1을 하였습니다. 

하지만 괄호가 먼저 닫히거나 중간에 열린 괄호 이상으로 닫혔다면 수는 -1이상이 되기 때문에

NO를 출력하는 형식으로 작성하였습니다.

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유