프로그래머스Lv2_올바른괄호
Dec 29, 2020
»
Algorithm
문제
괄호의 쌍이 올바르게 짝지어져 있다면 True, 아니면 False를 출력하여라.
ex)
()() ->True
(()( -> False
접근법
빈 배열 temp를 생성하여
s를 순회하면서 ‘(‘ 이면 temp에 삽입, ‘(‘ 다음 ‘)’ 이면 괄호 쌍이 만들어지므로 temp에서 pop ‘(‘ 가 나오지 않았는데 ‘)’ 가 나왔다면 괄호 쌍이 맞지않는 것이므로 False. 순회를 마친후 temp가 비어있다면 괄호쌍이 올바른 것이므로 True.
코드
def solution(s):
# if s == "":
# return False
temp = []
for i in s:
if i == '(':
temp.append('(')
else:
if temp == []:
return False
temp.pop()
return temp == []
다른사람풀이
def is_pair(s):
x = 0
for w in s:
if x < 0:
break
x = x+1 if w=="(" else x-1 if w==")" else x
return x==0