코딩 테스트/Level 2
괄호 회전하기
컴닥
2021. 5. 1. 04:45
반응형
괄호 회전하기
월간 코드 챌린지 시즌2 635명 완료
programmers.co.kr/learn/courses/30/lessons/76502
코딩테스트 연습 - 괄호 회전하기
programmers.co.kr
11. 스택을 이용한 괄호(bracket) 체크, 파이썬
수식에 열고 닫는 괄호 쌍을 체크할 때도 스택을 이용할 수 있습니다. 수식을 인자로 받아 수식에 괄호가 빠졌을 때 나 홀로 있는 괄호의 위치를 반환하는 함수를 구현해 봅시다. 예를 들자면 '2.
comdoc.tistory.com
스택과 큐를 이용하면 어렵지 않게 풀 수 있다.
def solution(s: str):
answer = 0
queue = list(s)
for _ in range(len(queue)):
queue.append(queue.pop(0))
stack = []
success = True
for bracket in queue:
if bracket in ('(', '[', '{'):
stack.append(bracket)
else:
if not stack:
success = False
break
if bracket == ')':
if stack[-1] == '(':
stack.pop()
else:
success = False
break
elif bracket == ']':
if stack[-1] == '[':
stack.pop()
else:
success = False
break
elif bracket == '}':
if stack[-1] == '{':
stack.pop()
else:
success = False
break
if success and not stack:
answer += 1
return answer
'(((((' 케이스에 유의할 것.
반응형