반응형

이 문제는 잘만 풀면 한큐에 끝낼 수 있는 문제이다.

 

그러나 조건에 다양한 예외처리를 신경써주어야 한다.

 

그렇지 않으면, 중간에 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

+ Recent posts