티스토리 뷰
728x90
반응형
문제
https://programmers.co.kr/learn/courses/30/lessons/12909?language=python3
코딩테스트 연습 - 올바른 괄호
괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은
programmers.co.kr
코드
def solution(s):
answer = True
stack = []
for i in s:
if i == "(":
stack.append("(")
else:
if stack:
stack.pop()
else:
return False
else:
if stack:
return False
else:
return True
stack이 비어있는데 닫는괄호가 들어오게되면 괄호의 짝이 안맞기 때문에 False를 리턴한다.
for문을 다돌았을때 stack에 여는 괄호가 남아있으면 괄호의 짝이 안맞기 때문에 False를 리턴한다.
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Level2, 영어 끝말잇기 (Python) (0) | 2021.06.09 |
---|---|
[프로그래머스] Level2, 가장 큰 정사각형 찾기 (Python) (0) | 2021.06.08 |
[프로그래머스] Level2, 땅따먹기 (Python) (0) | 2021.06.08 |
[프로그래머스] Level2, 최솟값 만들기 (Python) (0) | 2021.06.08 |
[프로그래머스] Level2, 숫자의 표현 (Python) (0) | 2021.06.08 |
댓글