[프로그래머스] 스택/큐 (STACK/QUEUE) - 올바른 괄호 (Python)

Daisy 🌼·2022년 7월 25일
0

프로그래머스

목록 보기
8/36
post-thumbnail

👻 문제

  • 문제 설명
    괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다.
    예를 들어
    "()()" 또는 "(())()" 는 올바른 괄호입니다.
    ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다.
    '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요.

  • 제한사항
    문자열 s의 길이 : 100,000 이하의 자연수
    문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다.

  • 입출력 예

👩‍💻 My cording

풀이 : for문, if문, pop() 활용

def solution(s):
    answer = True
    stack = []
   
    for i in s : # 요소를 차례대로 입력 # Ex : ()()
        if i == "(":
            stack.append(i)
            #1 append "("
            #3 append "("

        else: # ")"
            if stack == []:
                answer = False
                break
               
            else:
                stack.pop() # pop() : 인덱스 지정 안 되면, 맨 뒤 요소 pop 
                #2 pop "("
                #4 pop "("
    if stack != []:
        answer = False 
    # else:            
    return answer

💡 check point

올바른 괄호 조건()에 부합되면 pop()을 통해 제거하여 접근

문제출처 : 프로그래머스

profile
세상을 이롭게하는 AI Engineer

0개의 댓글