[wecode/codekata]Day8

jiminnote·2022년 6월 15일
0

⌨️wecode/code_kata

목록 보기
8/13
post-thumbnail

📍문제

s는 여러 괄호들로 이루어진 String 인자입니다. s가 유효한 표현인지 아닌지 true/false로 반환해주세요.
종류: '(', ')', '[', ']', '{', '}'
한 번 괄호를 시작했으면, 같은 괄호로 끝내야 한다.

sreturn
"()"True
"()[]{}"True
"(]"False
"([)]"False

📍내 코드

def is_valid(string):
    a = {')':'(',']':'[','}':'{'}
    b = []
    for i in string:
        if i in a:  #i가 ) , ] , } 중 하나일때
            if  b[-1:]==[a[i]]:  #리스트 b 역정렬순으로 비교하여 a의 닫는 괄호를 만나면
                b.pop() #리스트 b에서 빼기
            else:       #못 만나면
               return False 
              
        else: 
          b.append(i) #i가 ( , [ , { 중 하나일때 b에 append
    if b==[]:  # 짝을 만나서 전부 pop되어 리스트 b가 빈배열일 경우
        return True
    return False # 짝을 못 만나서 남아있으면 False
profile
Hello. I'm jimin:)

0개의 댓글