https://school.programmers.co.kr/learn/courses/30/lessons/76502?language=python3
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
내풀이
1. 큐를 활용해 회전을 구현한다
2. 괄호 짝이 맞는지 확인하는 함수를 만든다
from collections import deque
def pair(queue):
if len(queue)%2==1:
return 0
stack=[]
for q in queue:
if stack:
if stack[-1] == '[' and q == ']':
stack.pop()
elif stack[-1] == '{' and q == '}':
stack.pop()
elif stack[-1] == '(' and q == ')':
stack.pop()
else:
stack.append(q)
else:
stack.append(q)
if len(stack)==0:
return 1
def solution(s):
queue=deque(s)
if pair(queue)==0:
return 0
cnt=0
for _ in range(len(s)):
if pair(queue)==1:
cnt+=1
tmp=queue.popleft()
queue.append(tmp)
return cnt
배운 점
1. 함수로 만들어서 사용하도록 노력해야겠다
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 파이썬, 자바 문제풀이 - [1차] 캐시 (0) | 2023.04.24 |
---|---|
[프로그래머스] 파이썬 문제풀이 - n^2 배열 자르기 (0) | 2023.04.24 |
[프로그래머스] SQL 문제풀이 - 조건에 부합하는 중고거래 댓글 조회하기 (1) | 2023.03.13 |
[프로그래머스] 파이썬 문제풀이 - 등굣길 (0) | 2023.03.04 |
[프로그래머스] 파이썬 문제풀이 - 단어 변환 (0) | 2023.03.03 |
댓글