본문 바로가기
코딩공부/프로그래머스 (python)

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

by CodingKwon 2022. 9. 25.

문제 링크 (Level 2)

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

 

프로그래머스

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

programmers.co.kr

 

나의 코드 (Python)

def solution(s):
    answer = True
    st = []
    
    for a in s:
        if not st:
            st.append(a)
        else:
            if a == ")" and st[-1] == "(":
                st.pop()
            else:
                st.append(a)
                
    if len(st) == 0:
        answer = True
    else:
        answer = False
       
    return answer

 

이 문제는 스택을 활용하여 풉니다.

스택이 비어있다면 값을 append 하고 ")"이 들어오면서 스택 바로 위가 "("라면 pop 시킵니다.

그 외 조건은 모두 append입니다.

 

최종적으로 스택이 비어있으면 True, 하나라도 남는다면 False입니다.

 

댓글