코딩테스트/Python
[Python] 프로그래머스 - 괄호 회전하기
yo~og
2022. 3. 23. 19:34
문제
https://programmers.co.kr/learn/courses/30/lessons/76502
코딩테스트 연습 - 괄호 회전하기
programmers.co.kr
풀이
from collections import deque
def solution(s):
cnt=0
for x in range(len(s)):
s = deque(s)
s.rotate(-1)
ss = ''.join(s)
while '[]' in ss or '{}' in ss or '()' in ss:
ss = ss.replace('[]','').replace('{}','').replace('()','')
if not ss : cnt+=1
return cnt
replace를 사용해서 풀었다.
괄호 문제의 정석은 stack이지만.. 한번 머리를 굴려서 replace로 풀어봄
deque로 바꿔 rotate를 사용하여 하나씩 이동해준다.
deque를 다시 문자열로 바꿔준다.
[], (), {} 가 없을 때 까지 [], (), {} 를 공백으로 바꿔준다.
만약 문자열의 길이가 0일 경우, cnt를 더해준다.