코테 공부

프로그래머스 괄호 회전하기 (파이썬 풀이)

moonsun623 2021. 11. 28. 18:27
반응형

 

https://programmers.co.kr/learn/courses/30/lessons/76502?language=python3 

 

코딩테스트 연습 - 괄호 회전하기

 

programmers.co.kr

 

내가 한 풀이

from collections import deque
def is_ok(s):
    d={
    ')':'(',
    '}':'{',
    ']':'['
    }
    stack=[]
    for c in s:
        if c in '([{':
            stack.append(c)
        elif c in ')]}':
            if stack:
                top=stack.pop()
                if d[c]!=top:
                    return False

            else:
                return False

    return len(stack)==0

def solution(s):
    answer = 0
    q=deque(s)
    for _ in range(len(q)):
        q.rotate(-1)
        if is_ok(q):
            answer+=1
    return answer

deque.rotate(num) 은 num이 양수일때 오른쪽으로 num만큼 회전, 음수일때 왼쪽으로 num만큼 회전 하는 메서드이다.