susinlee 님의 블로그
84. 괄호 회전하기 본문
[문제]
https://school.programmers.co.kr/learn/courses/30/lessons/76502
[풀이]
1. stack 자료구조를 이용하여 괄호 검사를 진행한다
2. 괄호 검사가 끝났다면 deque 자료구조를 이용해서 왼쪽으로 회전시켜준다
3. 문자열 길이만큼 반복한다
from collections import deque
def solution(s):
answer = 0
n = len(s)
queue = deque(s)
# 문자열 길이만큼 반복
for _ in range(n):
# 괄호 검사
stack = []
flag = True
for ch in queue:
if ch in '[({':
stack.append(ch)
else:
if not stack:
flag = False
break
out = stack.pop()
if ch==']' and out == '[':
pass
elif ch==')' and out == '(':
pass
elif ch=='}' and out == '{':
pass
else:
flag = False
break
# 괄호 검사 결과
if not stack and flag:
answer += 1
# 왼쪽으로 회전
queue.rotate(-1)
return answer
'코드카타 > Python' 카테고리의 다른 글
86. H-Index (0) | 2025.01.11 |
---|---|
85. 연속 부분 수열 합의 개수 (1) | 2025.01.08 |
83. 귤고르기 (0) | 2025.01.06 |
82. 멀리 뛰기 (1) | 2025.01.05 |
신고 결과 받기 (0) | 2025.01.02 |