기록

프로그래머스_괄호 회전하기 본문

코딩테스트/python

프로그래머스_괄호 회전하기

youngyin 2021. 5. 18. 23:41

문제

https://programmers.co.kr/learn/courses/30/lessons/76502

 

코딩테스트 연습 - 괄호 회전하기

 

programmers.co.kr

풀이

1. 왼쪽으로 i칸씩 회전한다.

new_s = s[i:] + s[:i]

2. 회전하여 생성된 new_s를 stack을 이용하여 올바른 괄호인지 확인한다.

 

코드

def solution(s):
    count = 0
    for i in range(len(s)) :
    	# rotation
        new_s = s[i:] + s[:i]
        
        # 올바른 괄호인지 확인
        stack = [0] 
        for item in new_s :
            if item in ['(', '[', '{'] : stack.append(item)
            elif item==')' and stack[-1]=='(': stack.pop()
            elif item==']' and stack[-1]=='[': stack.pop()
            elif item=='}' and stack[-1]=='{': stack.pop()
            else :
                stack.append(item)
                break

        if stack==[0] : count+=1
    return count

 

Comments