Tech Stacks, Concepts/Algorithm

[프로그래머스] Lv2. 올바른 괄호 (파이썬) / Stack (스택)

minminn 2023. 4. 14. 23:14

[문제 링크]

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

 

프로그래머스

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

programmers.co.kr

 

[문제 고민]

  •  스택으로 풀어야겠다라고 생각했지만 구현 못..

[핵심 개념]

  1. 스택 한 단어로 정리 完

[추가 끄적]

- 대충 아래와 같은 논리 - 

  1. (ex) s = "()()"
  2. stack = []
  3. s[0] = "("
  4. stack = ["("]
  5. s[1] = ")"
  6. stack.pop 진행 → stack = [] 됨.

 

[작성 코드]

def solution(s):
    stack = []
    for string in s:
        if string == '(':
            stack.append('(')
        else:
            if stack == []:
                return False
            else:
                stack.pop()
    if stack != []:
        return False
    else:
        return True