티스토리 뷰

728x90
반응형

문제

https://programmers.co.kr/learn/courses/30/lessons/12909?language=python3 

 

코딩테스트 연습 - 올바른 괄호

괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은

programmers.co.kr

 

코드

def solution(s):
    answer = True
    stack = []
    for i in s:
        if i == "(":
            stack.append("(")
        else:
            if stack:
                stack.pop()
            else:
                return False
    else:
        if stack:
            return False
        else:
            return True

stack이 비어있는데 닫는괄호가 들어오게되면 괄호의 짝이 안맞기 때문에 False를 리턴한다.

 

for문을 다돌았을때 stack에 여는 괄호가 남아있으면 괄호의 짝이 안맞기 때문에 False를 리턴한다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30