
쨔쟌 !
올바른 괄호인지 아닌지 판단하는 문제다.
이 문제는스택과 큐를 활용하면 풀기 쉽다 !
스택(stack)
스택은 후입선출 즉, 나중에 들어온게 먼저 빠지는거다 !!
LIFO (Last In First Out)
💁🏻♀️ 스택을 어디서 활용할 수 있는데?
큐(queue)
큐는 선입선출 즉, 먼저 들어온게 먼저 빠지는거다 !!
FIFO (First In First Out)
💁🏻 큐를 어디서 활용할 수 있는데?
이제 이 스택과 큐를 활용해서 이 문제를 풀 수 있는데, 그 플로우는 다음과 같다
이를 코드로 짜면
def solution(s):
stack=[]
for i in range(len(s)):
if s[i] == "(" :
stack.append("(")
else:
if len(stack) == 0:
return False
else: stack.pop()
if len(stack)==0 : return True
else: return False
이렇게 풀 수 있다 !!!
문제만 보고 이걸 스택과 큐를 활용하면 되겠다!! 가 되려면 .. 더 열심히 풀어야겠단 ...