Dev

[코테] 스택 - 2. 괄호 짝 맞추기

mlslly 2024. 4. 18. 09:37

문제 : https://wikidocs.net/223100

 

문제08 괄호 짝 맞추기

# 문제 08 괄호 짝 맞추기★★ 저자 권장 시간 _ 30분 | 권장 시간 복잡도 _ O(N) | 출제 _ 저자 출제 [깃허브 URL](https://github.com/dr…

wikidocs.net

 

스택 개념을 활용해서 괄호의 짝을 맞추는 가장 기본적인 문제다.

(가 있을 경우 스택에 append, 짝이 맞는 )이 발견될 경우 () 쌍을 함께 지운다는 개념. 이때 )는 굳이 append하지 않아도 된다.

 

def solution(s) : 
	stack = []
	for i in s : 
    	if i == '(' :
        	stack.append(i)
        elif i == ')' :
        	if len(stack) == 0 :  # 비어있다면
            	return False
            else : 
            	stack.pop()
             
    if stack :  # 비어있지 않다면
    	return False
    else : 
    	return True