[프로그래머스] 월간 코드 챌린지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
아 ㅜㅜ
다시 차분히 푸니까 금방 풀리는데
테스트 시작하면 너무 떨려서 그런지 엄청 어렵게 풀게된다..
Author And Source
이 문제에 관하여([프로그래머스] 월간 코드 챌린지2 - 괄호 회전하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kjh1551/프로그래머스-월간-코드-챌린지2-괄호-회전하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)