프로그래머스/lv.2
괄호 회전하기
bingual
2024. 2. 6. 15:52
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/76502
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제풀이
from collections import deque
def solution(s):
answer = 0
que = deque(s)
for _ in range(len(s)):
if is_valid("".join(que)):
answer += 1
que.rotate(-1)
return answer
def is_valid(s):
patterns = {")": "(", "]": "[", "}": "{"}
stack = []
for char in s:
if char in patterns.values():
stack.append(char)
elif char in patterns.keys():
if not stack or stack.pop() != patterns[char]:
return False
return not stack