반응형
app.codility.com/programmers/lessons/7-stacks_and_queues/brackets/
empty list에서 pop을 시도하면 에러가 발생한다는 교훈을 얻었다
와! 37프로!
def solution(S):
# write your code in Python 3.6
d = []
for i in S:
if i == "[":
d.append(1)
elif i == "(":
d.append(2)
elif i == "{":
d.append(3)
else:
p = d.pop()
if i == "]" and p != 1 :
return 0
elif i == ")" and p != 2 :
return 0
elif i == "}" and p != 3 :
return 0
if len(d) == 0:
return 1
예외 케이스 : }{ 를 생각 못함
S에 문자열이 있고 d가 비어있을 때 pop을 시도하면 nested가 아니라는 말이니 바로 0을 리턴
아~~~ 67프로
def solution(S):
# write your code in Python 3.6
d = []
for i in S:
if i == "[":
d.append(1)
elif i == "(":
d.append(2)
elif i == "{":
d.append(3)
else:
if len(d) == 0:
return 0
p = d.pop()
if i == "]" and p != 1 :
return 0
elif i == ")" and p != 2 :
return 0
elif i == "}" and p != 3 :
return 0
if len(d) == 0:
return 1
예외 케이스 : {{{ 를 생각 못함
def solution(S):
# write your code in Python 3.6
d = []
for i in S:
if i == "[":
d.append(1)
elif i == "(":
d.append(2)
elif i == "{":
d.append(3)
else:
if len(d) == 0:
return 0
p = d.pop()
if i == "]" and p != 1 :
return 0
elif i == ")" and p != 2 :
return 0
elif i == "}" and p != 3 :
return 0
if len(d) == 0:
return 1
else:
return 0
'개발 > 알고리즘' 카테고리의 다른 글
[codility] Nesting (0) | 2021.02.20 |
---|---|
[codility] Fish (0) | 2021.02.20 |
[codility] Triangle (0) | 2021.02.19 |
[codility] NumberOfDiscIntersections (0) | 2021.02.19 |
[codility] MaxProductOfThree (0) | 2021.02.19 |
댓글