해결된 질문
작성
·
374
2
s= "[({"
def re():
arr=[]
for i in s:
if i =="[":
arr.append("]")
elif i == "{":
arr.append("}")
elif i == "(":
arr.append(")")
elif not arr or arr.pop() != i:
print(arr)
return False
if not arr:
return True
else:
return False
print(re())
s= "[({" 이라고 할때 not arr의 위치 질문입니다.
마지막 elif문에 not arr조건은 가지 못하니까(for문이 이미 끝났기 때문에) 마지막 elif문이 아니라 for문이 끝나고 arr이 비어 있는지 확인해야 하는거아닌가요??
s= "[({"
def re():
arr=[]
for i in s:
if i =="[":
arr.append("]")
elif i == "{":
arr.append("}")
elif i == "(":
arr.append(")")
elif arr.pop() != i:
return False
if not arr:
return True
else:
return False
print(re())
위에 식처럼 해야하는 거 아닌지 궁금합니다.
답변주시면 정말 감사하겠습니다.
답변 1
1
s = "])}"
def re():
arr = []
for i in s:
if i == "[":
arr.append("]")
elif i == "{":
arr.append("}")
elif i == "(":
arr.append(")")
elif arr.pop() != i:
return False
if not arr:
return True
else:
return False
print(re())
혹시 예시를 이렇게 해보시겠어요!!?
그러면 왜 필요한지 알 수 있을거에요!!
코드를 한 줄 한줄 분석해보고 왜 에러가 뜨는지 이해하시면 도움 많이 될거에요.
물론 설명을 드릴 수 있지만, 그냥 설명만 듣고는 실력이 많이 늘기 어렵더라구요.
이건 힌트를 드렸으니!! 직접 해보시길 바랄게요 ㅎㅎ
더 궁금하신점 있으시면 언제든지 질문 또 주세요