[アルゴリズム]プログラマの第2段階の正しいかっこ


def solution(s):
    
    stack = []
    
    for i in s:
        if len(stack) == 0: 
            if i == '(':
                stack.append(i)
            else:
                return False
        else:
            stack.append(i)
            if stack[-1] != stack[-2]:
                stack.pop()
                stack.pop()
    
    return True if not stack else False

解法

  • スタックアレイを作成します.
  • スタックが空で、「(」(「ラーメンスタック内)」はfalseを返します.
  • スタックが空でない場合はカッコが含まれます.スタックに含まれる値が「(」および「」)の場合、スタックから削除されます.これはペアであるためです.
  • の繰り返し文が完了すると、スタックにカッコがない場合は、正しいカッコになります.