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

Ronnie Ryu·2022년 12월 26일
0

프로그래머스

목록 보기
2/2

문제 및 요구사항

해결 방안

우선적으로 괄호의 짝이 맞는지 확인을 해야 한다. 여는 괄호 '('가 오게 된다면 리스트에 1을 추가하고, 닫는 괄호 ')'가 오게 되면 케이스에 따라 분류를 한다. 문자열의 시작에 닫는 괄호가 오게 되면 이는 짝이 맞지 않기에 False를 return하고, 짝이 맞는다면 리스트에 가장 마지막에 저장된 1을 제거한다. 이것을 문자열이 끝날 때 까지 반복하게 되고, 만약에 끝난 뒤에 리스트에 하나라도 남게 된다면 이는 짝이 맞지 않는 것이기에 False를 return하도록 하고, 아닌 경우에는 짝이 맞는 경우이기에 True를 리턴한다.

작성 코드

def solution(s):
    ans = list()
    for i in s:
        if i == '(':
            ans.append(1)
        else:
            if len(ans) == 0:
                return False
            elif ans[-1] == 1:
                ans.pop(-1)
    if len(ans) != 0:
        return False
    return True
profile
Working & Development

0개의 댓글