HackerRank - Balanced Brackets
3530 ワード
これはHackerRankのBackBracketsの問題解です.
{},[]と()の3つのかっこの組み合わせ.
カッコが完全か不完全かの問題を確認します.
完璧ならYES不完全ならNO
例:
{[()]}-->完全(return"YES")
{[(])}-->不完全(return"NO")
ディック・シャナリーとスタークを利用して解いたのです
左かっこ「[」、「{」、「(」)」についてstackに接頭辞を付けました.
カッコ'''、}、および')'が表示された場合、stackがポップアップされ、一致するかどうかを比較します.
一致しない場合は、カッコが不完全なため、「No」を返します.
完全に一致する入力の場合、for文が表示されるとスタックは空になります.
したがって、最後にスタックが空であるかどうかを確認する必要があります.
質問:
{},[]と()の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文が表示されるとスタックは空になります.
したがって、最後にスタックが空であるかどうかを確認する必要があります.
Reference
この問題について(HackerRank - Balanced Brackets), 我々は、より多くの情報をここで見つけました https://velog.io/@young221718/HackerRank-Balanced-Bracketsテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol