julia coding story

[프로그래머스] 괄호 회전하기 python 본문

카테고리 없음

[프로그래머스] 괄호 회전하기 python

julia-biolat 2025. 2. 15. 21:57
728x90

 

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

음.. 쉬운거 같은데 고려를 좀 해야하는 것들 있음

 

13,14번 케이스를 몰랐는데,,

 

13번은 check리스트에 남은 len이 없어야하는 부분 고려 못했고

14번은 "{(})" 이런 경우를 고려하지 못함. 

 

알아야할 것.

1. string to list 

s = list(s) 변경

 

2. pop(), append() - stack 이용

: stack 이용

 

3. list[-1] 

: 마지막 인덱스

 

 

 

정답

def solution(s):
    answer = 0
    
    s = list(s)
    
    def sol2(s):
        check = []
        for i in s:
            if i == "[" or i == "(" or i == "{":
                check.append(i)

            elif i == "]":
                if len(check) > 0 and check[-1] == "[" :
                    check.pop()
                else:
                    return False

            elif i == "}":
                if len(check) > 0 and check[-1] =="{" :
                    check.pop()
                else:
                    return False

            elif i == ")":
                if len(check) > 0 and check[-1] == "(":
                    check.pop()     
                else:
                    return False
                
        if len(check) == 0:
            return True
        else:
            return False
    
    
    
    for i in range(len(s)):
        a = s.pop(0)
        s.append(a)
        
        if sol2(s) == True:
            answer += 1
        
    return answer