반응형
https://school.programmers.co.kr/learn/courses/30/lessons/76502
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
문자열을 회전 시킬 때는 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
반응형
'코딩 테스트 > 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 |