반응형
반응형

 

문제

괄호 회전하기 문제는 처음에 이해하기 어려웠습니다.

이 문제에서 중요한건 문자열만큼 for문을 돌리는 것, for ... else ... 사용해서 answer 값 증가 또는 유지 하는 것입니다.

 

 

자세한 내용!

 

코드

1. 스택

from collections import deque

def solution(s):
    answer = 0
    s = deque(s)
    
    for i in range(len(s)):
        s.rotate(-1)
        stack = []
        for ch in s:
            if ch == '(' or ch == '{' or ch == '[':
                stack.append(ch)
            else:
                if not stack:
                    break

                rear = stack.pop()
                if ch == ')' and rear != '(':
                    break
                elif ch == '}' and rear != '{':
                    break
                elif ch == ']' and rear != '[':
                    break
        
        else:
            if len(stack) == 0:
                answer += 1

    return answer

 

 

 

공부

- deque

- for ... else ...

 

반응형

+ Recent posts