코딩테스트
[프로그래머스 LV2] 괄호 회전하기
RailCoder
2023. 4. 22. 01:30
반응형
반응형
문제
괄호 회전하기 문제는 처음에 이해하기 어려웠습니다.
이 문제에서 중요한건 문자열만큼 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 ...
반응형