[ 프로그래머스 / PYTHON ] 올바른 괄호

yujeongkwon·2022년 9월 19일
0

프로그래머스 / PYTHON

목록 보기
60/77

문제설명

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

"()()" 또는 "(())()" 는 올바른 괄호입니다.
")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다.
'(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요.

Comment & 풀이

쉽고 기본적인 📌stack 문제

이게 왜 lv2?
과거의 나 귀여웠군 근데 append pop 대신 연산만 써서 과거 코드가 쪼꿈 더 빠름

코드

현재

def solution(s):
    stack = []
    for i in s:
        if i ==")":
            if len(stack) != 0 and stack[-1] =="(": 
                stack.pop()
            else: return False
        else: stack.append(i)
    return False if stack else True

과거

def solution(s):
    l = 0
    r = 0
    for i in s:
        if i == "(":    l += 1
        else:
            r += 1
            if l == r : 
                l = 0
                r = 0
        if l < r:   return False
    if l == r :return True
    else:    return False
profile
인생 살자.

0개의 댓글