HackerRank - Balanced Brackets


これはHackerRankのBackBracketsの問題解です.

質問:


{},[]と()の3つのかっこの組み合わせ.
カッコが完全か不完全かの問題を確認します.
完璧ならYES不完全ならNO
例:
{[()]}-->完全(return"YES")
{[(])}-->不完全(return"NO")

コード:

def isBalanced(s):
    # Write your code here
    stack = []
    pair = {'}':'{', ']':'[', ')':'('}
    for ss in s:
        if ss in ['{', '[', '(']:
            stack.append(ss)
        elif len(stack) == 0: return 'NO'
        elif pair[ss] != stack.pop(): return 'NO'
    
    if len(stack) == 0: return 'YES'
    return 'NO'

プール:


ディック・シャナリーとスタークを利用して解いたのです
左かっこ「[」、「{」、「(」)」についてstackに接頭辞を付けました.
カッコ'''、}、および')'が表示された場合、stackがポップアップされ、一致するかどうかを比較します.
一致しない場合は、カッコが不完全なため、「No」を返します.
完全に一致する入力の場合、for文が表示されるとスタックは空になります.
したがって、最後にスタックが空であるかどうかを確認する必要があります.