공부-코딩테스트/코테풀이 - 자바, 파이썬
괄호 회전하기 (파이썬, 프로그래머스, 코딩테스트)
령과
2022. 7. 16. 20:53
문제
https://school.programmers.co.kr/learn/courses/30/lessons/76502
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
단순히 스택을 사용해서 소거하는 식으로 맞는 문자열 판별을 할 수 있다.
나의 코드
def solution(s):
answer = 0
arr = [s]
for i in range(len(s)-1):
arr.append(arr[-1][1:]+arr[-1][0])
for i in arr:
if check(i):
answer+=1
return answer
def check(s):
stack = [s[0]]
for i in s[1:]:
if len(stack) == 0:
stack.append(i)
elif i == ')' and stack[-1]=='(':
del stack[-1]
elif i==']' and stack[-1]=='[':
del stack[-1]
elif i=='}' and stack[-1]=='{':
del stack[-1]
else:
stack.append(i)
if len(stack)==0:
return True
return False