有効なかっこスタック
プログラマ
に質問右かっこ
かっこは「(アルファベットで開く場合は、アルファベット「」で閉じる必要があります).例:
「()」()または「()」()は有効なかっこです.
)()(""または()()は無効なかっこです.
指定された文字列sが「(」または「)のみで構成されている場合は、解関数を完了し、文字列sが正しいカッコである場合はtrueを返し、カッコが正しくない場合はfalseを返します.
せいげんじょうけん
文字列sの長さ:100000未満の自然数
文字列sは「(」または「)」のみからなる.
説明する
function solution(str) {
while(str.indexOf("()") >= 0){
str = str.split("()").join("")
}
return !str
}
正確性では、通過または効率はゼロです.
同様の方法で修正しても、効率を改善することはできません.
調べてみましたが、stackで解いたもので、stackの概念は聞いたことがありますが、どのように正しく使うか分かりません.今回はstackコンセプトを学びましょう!
他人を解く
다음에 한번 더 풀어보기 위해 해답은 skip!
スタック
第1入出力(LIFO)
スタックは資料構造型に属する.
先入後出
Stackの上部にデータを追加することを「push」、逆に上部にデータを削除することを「pop」と呼ぶ.
つまり、1つの塔に積み木を積み上げ続け、最後にアップロードされたデータが最初に現れる形式です.
var stack = [];
stack.push(2); // stack is now [2]
stack.push(5); // stack is now [2, 5]
var i = stack.pop(); // stack is now [2]
alert(i); // console.log(i);
この問題はもう一度やってみよう.Reference
この問題について(有効なかっこスタック), 我々は、より多くの情報をここで見つけました https://velog.io/@ellie12/올바른-괄호-stack-스택テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol