반응형
반응형
문제
괄호 회전하기 문제는 처음에 이해하기 어려웠습니다.
이 문제에서 중요한건 문자열만큼 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 ...
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스 LV2]할인 행사 (0) | 2023.04.25 |
---|---|
[프로그래머스 LV2] 연속 부분 수열 합의 개수 (0) | 2023.04.23 |
[프로그래머스] 런타임 에러 (0) | 2023.04.20 |
[프로그래머스 LV2] 귤 고르기 (0) | 2023.04.20 |
[프로그래머스 LV2]최댓값과 최솟값 (0) | 2023.04.19 |