[프로그래머스/파이썬] Level 2 올바른 괄호

bye9·2021년 4월 13일
0

알고리즘(코테)

목록 보기
108/130
post-custom-banner

https://programmers.co.kr/learn/courses/30/lessons/12909


알고리즘 분류

  • 스택/큐

문제풀이

카카오 문제중에 유사한 문제가 있었던 것 같다.

스택 자료구조를 활용해 조건에 따라 작성해주었다.

소스코드

def solution(s):
    stack=[]
    stack.append(s[0])
    for i in range(1,len(s)):
        next_value=s[i]
        if len(stack)==0:
            stack.append(next_value)
            continue
        now=stack.pop()
        if now=="(":
            if next_value==")":
                continue
            else:
                stack.append(now)
                stack.append(next_value)
        else:
            stack.append(now)
            stack.append(next_value)
        
    if len(stack)>0:
        return False
    else:
        return True

더 간단한 코드

def is_pair(s):
    # 함수를 완성하세요
    open_cnt = 0
    for c in s:
        if c == '(':
            open_cnt += 1
        elif c == ')':
            open_cnt -= 1
            if open_cnt < 0:
                return False
    return open_cnt == 0
post-custom-banner

0개의 댓글