Lv2. 올바른 괄호

Hello·2022년 8월 5일
0

코딩테스트 연습 > 올바른 괄호

1. 풀이 설명

  1. s 의 괄호를 하나씩 보면서 '(' 일때는 stack 에 넣고,

  2. ')' 일때는 stack 이 비었거나 stack 의 마지막 아이템이 (가 아닌 경우 False 를 반환하며, 그 외에는 stack 을 pop() 한다.

  3. s 를 다 본 후에 stack이 비어있지 않다면, False 를 반환한다.

2. 나의 풀이

def solution(s):
    stack =  []
    
    for c in s:
        if c == '(':
            stack.append(c)
        else:
            if stack == []:
                return False
            if stack[-1] != '(':
                return False
            else:
                stack.pop()
    
    if stack != []:
        return False
    
    return True

3. 배운점

  1. 괄호 문제가 익숙해서 빠르게 풀 수 있었다. 익숙해지는 것의 중요성을 느꼈다.
profile
안녕하세요 :)

0개의 댓글