반응형
이 문제는 잘만 풀면 한큐에 끝낼 수 있는 문제이다.
그러나 조건에 다양한 예외처리를 신경써주어야 한다.
그렇지 않으면, 중간에 Runtime Error가 발생한다ㅜㅜㅜ
시간 복잡도: O(N) --> 100%의 정답률
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def solution(S):
# write your code in Python 3.6
if len(S) == 0:
return 1
arr = []
for i in S:
if i == "{":
arr.append(3)
elif i == "[":
arr.append(2)
elif i == "(":
arr.append(1)
elif i == ")":
arr.append(-1)
elif i == "]":
arr.append(-2)
elif i == "}":
arr.append(-3)
arr_ = []
arr_.append(arr[0])
for i in range(1,len(arr)):
if len(arr_) != 0 and arr[i] < 0 and arr[i] == -1 * arr_[len(arr_)-1]:
del arr_[len(arr_)-1]
else:
arr_.append(arr[i])
if len(arr_) == 0:
return 1
else:
return 0
pass
관련 유튜브 강의도 있습니다~~
https://www.youtube.com/watch?v=4Lzl1yOsyRM
저의 강의입니다ㅋㅋㅋ
반응형
'Codility' 카테고리의 다른 글
Codility - Nesting 문제풀이 (1) | 2020.04.28 |
---|---|
Codility - Fish (0) | 2020.04.27 |
Codility - Triangle (0) | 2020.04.25 |
Codility - NumberOfDiscIntersections (0) | 2020.04.24 |
Codility - MaxProductOfThree (0) | 2020.04.24 |