파이썬/코딩테스트

[프로그래머스] 올바른 괄호 - Python(파이썬)

대전집주인 2024. 3. 23. 16:49
728x90
SMALL

 

문제 이해

  • 괄호가 바르게 짝지어져야한다.
  • '('로 열었으면 ')'로 닫아야한다.
  • 괄호의 개수는 '(',')' 동일해야한다.

이 문제의 경우 '(' 가 담겨있는 left리스트 하나와 ')'가 담겨있는 right리스트를 만들었다.

리스트에 담으면서 괄호의 짝이 맞는지 count 변수로 '(' 경우 +1 ')'경우 -1 괄호가 잘 닫히면 0 아니면 -1로 체크하였다.

 

def solution(s):
    answer = True
    left = []
    right = []
    count = 0
    
    for i in s:
      if i == '(':
        left.append(i)
        count += 1
      else:
        right.append(i)
        count -= 1
    
    # 괄호를 열고 닫았는지 확인
      if count == -1:
        answer = False
        break
    # 괄호가 제대로 안닫혔거나 개수가 안맞을경우 False
    if answer == False or len(left) != len(right):
      answer = False
    return answer
728x90
LIST