[Programmers 12909] 올바른 괄호
문제
LV2 [Programmers 12909 - 올바른 괄호]
문제 풀이 방법
이 문제는 큐를 활용하면 쉽게 해결할 수 있다.
- 문자열 s를 순회하며 다음과정을 반복한다.
- 만약 큐의 크기가 0이라면 큐에 현재 순회하고 있는 괄호를 넣는다.
- 큐가 비어있지 않다면, 큐의 마지막 값이 ‘(’이면서 현재 순회하고 있는 괄호가 ‘)’이라면 짝이 맞는 괄호이므로 큐의 마지막 값을 빼준다.
- 괄호가 맞지 않는다면 큐에 넣어준다.
- 문자열을 모두 순회 후에 큐에 남아있는 괄호가 있다면 false, 비어있다면 true를 반환해준다.
풀이 코드
Python
def solution(s):
answer = True
queue = []
for i in s:
if len(queue) == 0:
queue.append(i)
elif queue[-1]=='(' and i==')':
queue.pop()
else:
queue.append(i)
if len(queue):
return False
else:
return True
solution('()()')
댓글남기기