문제
https://school.programmers.co.kr/learn/courses/30/lessons/76502
풀이
단순히 스택을 사용해서 소거하는 식으로 맞는 문자열 판별을 할 수 있다.
나의 코드
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
'공부-코딩테스트 > 코테풀이 - 자바, 파이썬' 카테고리의 다른 글
2805. 농작물 수확하기 (자바, 코딩테스트, SWEA) (0) | 2022.08.03 |
---|---|
1210. [S/W 문제해결 기본] 2일차 - Ladder1 (SWEA, 자바, 코딩테스트) (0) | 2022.08.02 |
게임 맵 최단거리 (코딩테스트, 프로그래머스, 파이썬) (0) | 2022.07.16 |
1226. [S/W 문제해결 기본] 7일차 - 미로1 (코딩테스트, SW Expert Academy) (0) | 2022.05.25 |
2806. N-Queen (코딩테스트, SW Expert Academy) (0) | 2022.05.12 |
댓글