본문 바로가기
DC 2

[자료구조] 짝지어 제거하기 파이썬 (stack, valid pair)

by YGSEO 2021. 4. 22.
728x90
def solution(s): 
    stack = []
    for i in s:
        if len(stack) == 0: 
            stack.append(i)
        elif stack[-1] == i: 
            stack.pop()
        else: 
            stack.append(i)
    return (0,1)[len(stack) == 0]

단순 stack 문제였는데

너무 복잡하게 생각했다

valid parentheses랑 똑같은 건데 ㅠㅠ

 

마지막 return에서 tuple로 한 부분은

if-else를 쓰는 대신에 간결하게 표현이 가능하다.

예전에 LeetCode에서 봤던 표현식

그 때는 왜 tuple로 쓰는지 몰랐는데

지금보니 간결하게 표현이 가능하고

또한 return 값으로 T/F 대신 1/0으로 받는 문제의 경우가 있기 때문인듯.

 

728x90

댓글