Brackets
def solution(S):
# write your code in Python 3.6
s = []
if not S:
return 1
for i in range(0, len(S)):
if S[i] == "(" or S[i] == "{" or S[i] == "[":
s.append(S[i])
if S[i] == ")":
if s[-1] == "(":
s = s[:-1]
else:
return 0
if S[i] == "}":
if s[-1] == "{":
s = s[:-1]
else:
return 0
if S[i] == "]":
if s[-1] == "[":
s = s[:-1]
else:
return 0
return 1
아니 invalid 입력도 내가 처리해야하는건가??
def solution(S):
# write your code in Python 3.6
s = []
if not S:
return 1
for i in range(0, len(S)):
if S[i] == "(" or S[i] == "{" or S[i] == "[":
s.append(S[i])
#print(s)
if S[i] == ")":
#print(s[-1])
if not s:
return 0
if s[-1] == "(":
s = s[:-1]
else:
return 0
if S[i] == "}":
if not s:
return 0
if s[-1] == "{":
s = s[:-1]
else:
return 0
if S[i] == "]":
if not s:
return 0
if s[-1] == "[":
s = s[:-1]
else:
return 0
if s:
return 0
return 1
그것이 아니고 s가 비었을 경우를 생각하지 않았네요
stack queue 문제의 경우 비어있는 경우를 항상 생각해주어야 한다
그런데 이번엔 time out 났다
def solution(S):
# write your code in Python 3.6
s = []
if not S:
return 1
for i in range(0, len(S)):
if S[i] == "(" or S[i] == "{" or S[i] == "[":
s.append(S[i])
#print(s)
else:
if not s:
return 0
t = s.pop()
if S[i] == ")" and t != "(":
#print(t)
return 0
if S[i] == "}" and t != "{":
return 0
if S[i] == "]" and t != "[":
return 0
if s:
return 0
return 1
pop() method 가 있구나
파이썬은 정말.. 정말 편한 언어다
자바로 하다 파이썬으로 하려니 편안하다
💯 드디어 타임 인