熱門文章

2025年12月1日 星期一

ZeroJudge 解題筆記:k621. [紅]括號匹配問題

作者:王一哲
日期:2025年12月1日


ZeroJudge 題目連結:k621. [紅]括號匹配問題

解題想法


自訂函式 check,輸入一行字串 s,檢查 s 之中的括號是否能配對。用堆疊 st 儲存讀到的左括號,如果讀到右括號,檢查 st 最後一項是否能與這個右括號配對,如果可以配對則移除 st 最後一項;如果不能配對則印出 Wrong,跳出函式。如果函式可以執行到最後一行,印出 Right。

Python 程式碼


使用時間約為 18 ms,記憶體約為 3.3 MB,通過測試。
def check(s):
    st = []
    left = ("{", "[", "(")
    right = {"}": 0, "]": 1, ")":2}
    for c in s:
        if c in "{[(":
            st.append(c)
        else:
            if st and st[-1] == left[right[c]]:
                st.pop()
            else:
                print("Wrong")
                return
    print("Right")

check(input())