
문제이해
- 주어진 괄호는 길이-1 만큼 왼쪽으로 회전을 하여 모든 괄호의 목록 중에서 정상적인 괄호의 개수를 출력하면 되는 것이다.
문제풀이
- n-1번 회전을 괄호 리스트를 회전시킨다.
- Stack 자료구조를 활용하여 괄호가 정상적인 괄호 리스트인지 확인한다.
문제코드
from collections import deque
def solution(s):
answer = 0
s=deque(s)
stack=[]
flag=0
for i in range(0, len(s)):
stack.clear()
if i!=0:
s.append(s.popleft())
for k in s:
if k in ['[', '(', '{']:
stack.append(k)
flag=1
else:
if len(stack)==0:
continue
if k==']' and stack[-1]=='[':
stack.pop()
elif k==')'and stack[-1]=='(':
stack.pop()
elif k=='}'and stack[-1]=='{':
stack.pop()
if len(stack)==0 and flag==1:
answer+=1
return answer