혜온의 이것저것

[코딩테스트 고득점 kit] 스택/큐 - 올바른 괄호 (Python) 본문

Algorithm/Programmers

[코딩테스트 고득점 kit] 스택/큐 - 올바른 괄호 (Python)

혜온 :) 2023. 4. 10. 14:15
문제 이해 및 풀이

짝을 맞춰서 진행해야한다. 괄호는 (로 시작해서 )로 끝난다.

(가 들어오면 stack에 넣어주고 )가 들어오면 맞는 짝을 찾아 제거해줄 것이다.

(가 들어왔을 때 stack에서 하나씩 pop을 해줘서 한바퀴 다 돌았을 때 stack에 남아 있는 것이 없다면 모두 올바르게 짝지어진 것이다.

하지만 )가 처음으로 들어온 경우에는 false를, stack에 무언가 남아 있는 경우는 짝이 올바르게 지어지지 않았기 때문에 false를 출력해준다.

 

전체 코드
def solution(s):
    stack=[]
    for c in s:
        if c=='(':
            stack.append(c)
        if c==')':
            if len(stack)>0:
                stack.pop()
            else:
                return False
    if len(stack)==0:
        return True
    return False

 

문제 출처

프로그래머스 코딩테스트 고득점 kit 

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

 

프로그래머스

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

programmers.co.kr

 

Comments