[プログラマー]月次コードチャレンジ2-回転カッコ
7930 ワード
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
ああうううもうすぐいいです.
テストを始めたら、緊張しすぎたせいか、なかなか解けません.
Reference
この問題について([プログラマー]月次コードチャレンジ2-回転カッコ), 我々は、より多くの情報をここで見つけました https://velog.io/@kjh1551/프로그래머스-월간-코드-챌린지2-괄호-회전하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol