[프로그래머스/Python] 올바른 괄호

Sujin Lee·2022년 6월 29일
0

코딩테스트

목록 보기
75/172
post-thumbnail

문제

프로그래머스 - 올바른 괄호

풀이 과정

  • 스택 사용하기
  • s의 원소를 하나씩 꺼내서 비교한다.
    • i == ( 라면 stack에 삽입
    • i == ) 라면
      • stack이 비어있다면 return False
      • stack이 비어있지않다면 stack안에 있는 열린 괄호랑 짝지어지면서 pop한다.

시행 착오

  • 시간 초과 -> 문자열을 직접 건드리지 말자.. stack을 사용하라
def solution(s):
    if s[0] == ')':
        return False
    stack = []
    for i in s:
        if i == '(':
            stack.append(i)
        else:
            if i == ')':
                stack.pop()
            else:
                stack.append(i)
    
    return True if not stack else False

풀이

def solution(s):
    stack = []
    for i in s:
        if i == '(':
            stack.append(i)
        else:
            if stack == [] :
                return False
            else:
                stack.pop()
    
    return True if not stack else False
profile
공부한 내용을 기록하는 공간입니다. 📝

0개의 댓글