728x90
괄호 회전하기
https://school.programmers.co.kr/learn/courses/30/lessons/76502
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
코드
- stack, pop을 활용하기 위한 list로 변형
- 두 개의 for문을 활용
def solution(s):
answer = 0
s = list(s)
for _ in range(len(s)):
lst = []
for i in range(len(s)):
if len(lst) > 0:
if lst[-1] == '[' and s[i] == ']':
lst.pop()
elif lst[-1] == '{' and s[i] == '}':
lst.pop()
elif lst[-1] == '(' and s[i] == ')':
lst.pop()
else:
lst.append(s[i])
else:
lst.append(s[i])
s.append(s.pop(0)) # 왼쪽으로 회전
# lst에 남아있는게 없으면 올바른 괄호 문자열이라는 의미이므로 +1
if len(lst) == 0:
answer += 1
return answer
728x90
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] n^2 배열 자르기 - 파이썬 (0) | 2024.06.19 |
---|---|
[프로그래머스] 할인 행사 - 파이썬 (0) | 2024.06.18 |
[프로그래머스] 연속 부분 수열의 합의 개수 - 파이썬 (0) | 2024.06.18 |
[프로그래머스] 귤 고르기 - 파이썬 (0) | 2024.06.18 |
[프로그래머스] 영어 끝말잇기 - 파이썬 (1) | 2024.06.17 |