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

minj-j·2022년 8월 18일
0

CodingTest

목록 보기
10/14

😬 예제 테스트는 모두 통과했으나 실패한 풀이

def solution(s):
    stack = []
    cnt1 = 0
    cnt2 = 0

    for i in range(len(s)):
        stack.append(s[i])
        if stack[i] == '(':
            cnt1 += 1
        elif stack[i] == ')':
            if i == 0:
                return False
            cnt2 += 1
    if cnt1 == cnt2:
        return True
    else:
        return False

🌌 풀이 흐름

괄호들을 하나씩 스택에 담는데 ((이 들어오는 개수를 세고 ((만큼 ))이 들어오면 true를 출력하고 하나라도 수가 많거나 적으면 false를 출력한다.
)가 들어오면 아예 false이니까 이거는 따로 처리를 해준다.

😄 2차시도 성공! 참고한 블로그

def solution(s):
    stack = []

    for i in s:
        if i == '(':
            stack.append(i)
        else:
            if stack == []:
                return False
            else:
                stack.pop()
    return (stack == [])
profile
minj-j`s Development diary!

0개의 댓글