[Leetcode] 20. Valid Parentheses

bradley·2022년 6월 1일
1

Algorithm

목록 보기
4/12

Problem

Solution

1) 괄호 짝을 가진 dict() 활용

class Solution:
    def isValid(self, s: str) -> bool:
        map = {")":"(", "}":"{","]":"["} # 닫는 괄호를 key로 열린 괄호를 짝으로 하는 dict() 생성
        st = [] # 괄호 짝이 맞는지 맞추기 위해 임시로 넣을 리스트
        # 입력된 character가 map dict에 있고, st의 마지막 값이 짝지어진 열린 괄호이면 st를 비워준다
        # st의 마지막 index를 가져오는 이유는  입력이 "{[]}"와 같은 경우가 있을 수 있기 때문에
        for e in s:
            if st and (e in map and st[-1] == map[e]):
                st.pop()
            else:
                st.append(e)
        return not st # 최종적으로 st가 비워지면 True return
profile
데이터 엔지니어링에 관심이 많은 홀로 삽질하는 느림보

0개의 댓글