[プログラマー]月次コードチャレンジ2-回転カッコ


def solution(s):
    answer = 0
    temp = list(s)
    
    for i in range(len(s)) :
        # 한칸씩 밀어주기
        a = temp[0]
        temp = temp[1:]
        temp.append(a)
        
        stack = []
        
        for j in temp:
            if len(stack) == 0:
                stack.append(j)
                continue;
                
            # 열리는 괄호
            if (stack[-1] == '[' or
                stack[-1] == '{' or
                stack[-1] == '(') :
               
                stack.append(j)
    
              
            # 스택길이 1개인데 바로 닫히는 괄호
            if (len(stack) == 1 and 
                  stack[0] == ']' or
                  stack[0] == '}' or
                  stack[0] == ')'
                 ) :
                
                break;
            
            # 스택길이 2개 이상인데 닫힐경우 매칭되는지 검사
            if  ((stack[-1] == ']' and stack[-2] == '[') or
                 (stack[-1] == '}' and stack[-2] == '{') or
                 (stack[-1] == ')' and stack[-2] == '(')) :

                stack.pop()
                stack.pop()

	# 모두 매칭되어 스택이 비어있을 경우
        if len(stack) == 0:
            answer += 1
                

    return answer
ああううう
もうすぐいいです.
テストを始めたら、緊張しすぎたせいか、なかなか解けません.