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

 

프로그래머스

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

programmers.co.kr


문제 해결을 위한 과정

이 문제의 경우 괄호를 (, )로 분리하면 쉽게 해결할 수 있는 문제였습니다.

각각 (의 경우 1을 더하고, )인 경우 1을 빼주면 되는데 )부터 시작하면 올바르지 않은 괄호이고 결과는 음수, (()) 이렇게 올바른 경우는 1 + 1 - 1- 1이므로 결과는 0, ((()) 올바르지 않은 괄호는 1 + 1 + 1 - 1 - 1 이므로 양수 즉 올바르지 않은 경우입니다. 이를 문제에 적용하면 쉽게 해결할 수 있습니다.


소스코드
def solution(s):
    answer = True
    res = 0
    
    for i in range(len(s)):
        if s[i] == "(":
            res += 1
        else:
            res -= 1
        if res < 0:
            return False
    if res == 0:
        return True
    else:
        return False

+ Recent posts