Algorithm/프로그래머스

[프로그래머스] 괄호 회전하기 - 파이썬

potato_pizza 2024. 6. 18. 17:07
728x90

괄호 회전하기

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제

코드

  • stack, pop을 활용하기 위한 list로 변형
  • 두 개의 for문을 활용
def solution(s):
    answer = 0
    s = list(s)

    for _ in range(len(s)):
        lst = []
        for i in range(len(s)):
            if len(lst) > 0:
                if lst[-1] == '[' and s[i] == ']':
                    lst.pop()
                elif lst[-1] == '{' and s[i] == '}':
                    lst.pop()
                elif lst[-1] == '(' and s[i] == ')':
                    lst.pop()
                else:
                    lst.append(s[i])
            else:
                lst.append(s[i])

        s.append(s.pop(0)) # 왼쪽으로 회전

        # lst에 남아있는게 없으면 올바른 괄호 문자열이라는 의미이므로 +1
        if len(lst) == 0:
            answer += 1


    return answer
728x90
반응형