
끼얏호!
def solution(s):
answer = True
stack = []
if s[0] == ')' or s[-1] == '(' or len(s)%2 == 1:
return False
for i in range(len(s)):
if s[i] == '(':
stack.append(s[i])
elif s[i] == ')' and '(' in stack:
stack.pop()
else:
return False
if len(stack) != 0:
return False
return True
수정한 부분은 크게 2가지였다.
첫 번째는 '(' 를 만났을 때 pop이 아닌 append를 시켜주는 것으로 순서를 바꾼 것 이었고,
두 번째는 for 문 안에 elif 문을 추가하여, pop시킬 '('가 없으면 False를 리턴하도록 한 것이다.
당장은 테스트를 통과하였지만, 다른 분들의 코드를 보면서 더 효율적인 방법은 무엇인지 고민해보려고 한다!