관련 문제
https://school.programmers.co.kr/learn/courses/30/lessons/12909
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
def solution(s):
answer = True
stack = []
if s.count("(") != s.count(")"):
return False
for i in range(len(s)):
if len(stack):
if s[i] == ")":
stack.pop()
else:
stack.append(s[i])
else:
if s[i] == ")":
answer = False
break
else:
stack.append(s[i])
return answer
해결 포인트
stack을 활용해 "("일 경우 push ")" pop을 해준다. pop을 해줘야할 때 stack이 비어있으면 False이며, 괄호의 개수가 다르더라도 False이다.
'코딩테스트 > 프로그래머스 level2' 카테고리의 다른 글
[프로그래머스] 영어 끝말잇기 (0) | 2022.09.08 |
---|---|
[프로그래머스] 다음 큰 숫자 (0) | 2022.09.08 |
[프로그래머스] 최솟값 만들기 (0) | 2022.09.08 |
[프로그래머스] n^2 배열 자르기 (0) | 2022.09.08 |
[프로그래머스] 가장 큰 수 (0) | 2022.09.01 |