RUBY

[프로그래머스] 올바른 괄호 본문

PS/Programmers

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

RUBY_루비 2020. 10. 26. 23:59

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

분류:: 스택

 

1. 문제 이해 및 해결과정

괄호 문제는 3가지 케이스로 나뉜다
1. 현재가 ( 일 경우 -> 무조건 stack에 더함 
2. 현재가 ) 이면서 이전것이 (일 경우 -> stack.pop() =>괄호의 균형이 맞으므로 뺌 ( 
3. 현재가 ) 이면서 이전것이 없거나 )일 경우 -> stack에 현재 추가 

stack에 무언가 남아있다면 균형잡힌 괄호가 아니라는 뜻이다. 

 

2. 풀이방법

 1. 스택

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

 

3. 오답원인

 

4. 알게된 점

 

Comments