반응형
https://school.programmers.co.kr/learn/courses/30/lessons/76502
풀이
문자열을 회전 시킬 때는 for문으로 queue 방식으로 회전 시켜 주었다.
그리고 규칙에 맞는 괄호를 찾는 방식으로는 stack 방식을 사용했다.
마지막으로 dictionary를 선언해서 괄호의 짝에 맞게 정의를 해주었다.
def solution(s):
count = 0
stack = []
Dict = {'{' : '}', '[' : ']', '(' : ')'}
saveValue = ""
s = list(s)
for i in range(len(s)):
# rotation
element = s.pop(0)
s.append(element)
# check correct bracket
for j in s:
if j == '{' or j == '[' or j == '(':
stack.append(j)
else:
if stack == []:
stack.append(j)
else:
for key, value in Dict.items():
if stack[-1] == key:
saveValue = value
if j == saveValue:
stack.pop()
if stack == []:
count += 1
stack = []
return count
728x90
반응형
'코딩 테스트 > Programmers' 카테고리의 다른 글
[Python] [Level 2] 기능 개발 (0) | 2022.11.05 |
---|---|
[Python] [Level 2] n^2 배열 자르기 (0) | 2022.11.04 |
[Python] [Level 2] 튜플 (0) | 2022.11.01 |
[Python] [Level 2] 행렬의 곱셈 (0) | 2022.10.31 |
[Python] [Level 2] H-Index (0) | 2022.10.29 |