본문 바로가기
Algorithm/Programmers

[Programmers / Level2] 올바른 괄호

by 개복취 2024. 1. 15.

 

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


 

 

<내 풀이>

def solution(s):
    stack, s_list = 0, list(s)
    for i in range(len(s_list)):
        if s_list[i] == '(': stack += 1
        elif s_list[i] == ')' and stack: stack -= 1
        else: return False
    if stack: return False
    else: return True

 

클래식한 괄호스택문제 list에 접근해서 stack을 쌓았음

 

<정해풀이 - GPT선생님>

def solution(s):
    stack = []

    for char in s:
        if char == '(':
            stack.append(char)
        else:
            if not stack:
                return False
            stack.pop()

    return len(stack) == 0

 

 

그냥 stack list하나 선언해서 element 추가하거나 빼는방식이 깔끔한거 같기도 하다.