-
괄호 회전하기코딩 테스트/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
'(((((' 케이스에 유의할 것.
반응형