[スタック]有効なかっこ
1248 ワード
スタック(Last in first):後で入力するデータを最初に出力する構造
代表的な方法:push->pop
問題の説明
かっこは「(アルファベットで開く場合は、アルファベット「」で閉じる必要があります).例:
「()」()または「()」()は有効なかっこです.
)()(""または()()は無効なかっこです.
指定された文字列sが「(」または「)のみで構成されている場合は、解関数を完了し、文字列sが正しいカッコである場合はtrueを返し、カッコが正しくない場合はfalseを返します.
せいげんじょうけん
文字列sの長さ:100000未満の自然数
文字列sは「(」または「)」のみからなる.
I/O例
s answer
"()()" true
"(())()" true
")()(" false
"(()(" false
代表的な方法:push->pop
問題の説明
かっこは「(アルファベットで開く場合は、アルファベット「」で閉じる必要があります).例:
「()」()または「()」()は有効なかっこです.
)()(""または()()は無効なかっこです.
指定された文字列sが「(」または「)のみで構成されている場合は、解関数を完了し、文字列sが正しいカッコである場合はtrueを返し、カッコが正しくない場合はfalseを返します.
せいげんじょうけん
文字列sの長さ:100000未満の自然数
文字列sは「(」または「)」のみからなる.
I/O例
s answer
"()()" true
"(())()" true
")()(" false
"(()(" false
function solution(s){
let answer = true;
let stack = [];
if (s[0] === ')') answer = false;
else {
for (let i of s) {
if (i === '(') stack.push(i);
else if (i === ')') stack.pop();
}
if (stack.length !== 0) answer = false;
}
return answer;
}
function solution(input){
let answer = true;
const stack = []
input.split('').forEach((char) => {
if (char === '(') {
stack.push('(')
return
}
if (stack.length === 0) {
answer = false
return
}
stack.pop()
})
return answer && stack.length === 0;
}
Reference
この問題について([スタック]有効なかっこ), 我々は、より多くの情報をここで見つけました https://velog.io/@yuriyoon1009/스택-올바른-괄호テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol