[BOJ]9012号括弧
4562 ワード
これはStackを利用した問題です.
解答:カッコが正しいだけがYESで、そうでなければ出力Noの問題です.つまり、アレイにPushがある場合はPOPを行い、カッコが正しい場合はスタックを空にする必要があります.)で入力した場合は、まずそれをポップアップし、それをポップアップします.これにより、空の配列が発生するため、YESが出力されます.POPを作る前にレイアウトが空かどうかを確認しましょう!!レイアウトが空の場合、POPを作るとエラーが発生するからです.
感じた点:最初は「(」文字列と「)」文字列を一つ一つ加算して、trueならfalseにして、これではだめ!xがVPSなら、それを1つに変えなければならないからです.VPS=()ということは、会計は「(」「)」ということなのでダメ!
解答:カッコが正しいだけがYESで、そうでなければ出力Noの問題です.つまり、アレイにPushがある場合はPOPを行い、カッコが正しい場合はスタックを空にする必要があります.)で入力した場合は、まずそれをポップアップし、それをポップアップします.これにより、空の配列が発生するため、YESが出力されます.POPを作る前にレイアウトが空かどうかを確認しましょう!!レイアウトが空の場合、POPを作るとエラーが発生するからです.
感じた点:最初は「(」文字列と「)」文字列を一つ一つ加算して、trueならfalseにして、これではだめ!xがVPSなら、それを1つに変えなければならないからです.VPS=()ということは、会計は「(」「)」ということなのでダメ!
var T = Int(readLine()!)!
var stack:[String.Element] = []
for _ in 0..<T {
var breack = readLine()!
for i in breack {
if i == "(" || stack.last == ")" {
stack.append(i)
} else {
if !stack.isEmpty {
stack.popLast()
} else {
stack.append(i)
}
}
}
if stack.isEmpty {
print("YES")
stack = []
} else {
print("NO")
stack = []
}
}
Reference
この問題について([BOJ]9012号括弧), 我々は、より多くの情報をここで見つけました https://velog.io/@dohyun8032/BOJ-9012번-괄호テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol