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

kjh1551·2020년 9월 8일
0

알고리즘 풀이

목록 보기
7/14
post-thumbnail

문제
'(' 로 열리고 ')' 로 닫히는 올바른 괄호인지 구하세요.


def solution(s):

    stack = [];


    for char in s:
        stack.append(char);

        if len(stack) > 1 :
            if stack[-1] == ')' and stack[-2] == '(' :
                stack.pop(-1);
                stack.pop(-1);

    if len(stack) > 0:
        return False
    else:
        return True

설명

문자열을 스택에 넣고, (이때 비어있다면 무조건 넣어준다.)
위에가 ) 이고 그 아래가 ( 이면 올바른 것 이므로
pop 해서 빼준다.

이렇게 맞는 패턴을 다 빼다보면 올바른 애들은 스택의 길이가 0 일것 이므로
아닐시 false 를 리턴해준다.

이전에 카카오 인턴십 문제 아이디어에서 참고했다.
이게 더 쉬운데 level2 고 그 인형뽑기 문제가 level1 인 아이러니 ..

* 파이썬 레퍼런스에서 len(stack) > 0 을 사용하기보다 if stack 을 사용하기를 권장했다. 담에는 길이를 리턴받지 말고 저렇게 사용하자 ~

0개의 댓글