[CodeKata]Day8. かっこの順序を確認
8004 ワード
質問する
sは、複数の括弧からなるStringパラメータである.
true/false、sが有効かどうかを返してください.
「(」、「)」、「[」、「]」、「{」、「}」の6種類があります.
次の場合に有効です.
かっこを開始するには、同じカッコで終了します.
かっこの順序は正しいです.
例:s = "()"
return true
s = "()[]{}"
return true
s = "(]"
return false
s = "([)]"
return false
s = "{[]}"
return true
クレヨンしんちゃん
結果...クレヨンしんちゃんを半日試してみましたが、
承玉のヒントを聞いて、また解けた.
まず、{,(,[左方向と},),]右方向のオブジェクトを分離し、入力値sを開き、左方向に空の配列に入ります.
その後、次の右方向に入ると、配列の最後の括弧と入ったばかりの右方向の集合が正しい場合は、配列から削除されます.
砲口が終わった後、アレイに何もなければtrueに戻ります.
結果
function isValid(s) {
// 여기에 코드를 입력해주세요.
const left = {
"{": 0,
"[": 1,
"(": 2,
};
const right = {
"}": 0,
"]": 1,
")": 2,
};
let stack = [];
console.log(s.length);
if (!(s.length % 2 === 0)) {
//길이가 홀수이면 참일수없으니
return false;
}
for (let letter of s) {
// console.log(letter);
if (Object.keys(left).indexOf(letter) > -1) {
stack.push(letter);
} else {
if (stack.length < 1) {
// '}}' 요렇게 들어오는 경우 대비
return false;
}
let finalLeft = stack[stack.length - 1];
if (left[finalLeft] === right[letter]) {
stack.pop();
}
}
}
// console.log(stack.length > 0);
return stack.length > 0 ? false : true;
}
console.log(isValid("))"));
新学
s = "()"
return true
s = "()[]{}"
return true
s = "(]"
return false
s = "([)]"
return false
s = "{[]}"
return true
function isValid(s) {
// 여기에 코드를 입력해주세요.
const left = {
"{": 0,
"[": 1,
"(": 2,
};
const right = {
"}": 0,
"]": 1,
")": 2,
};
let stack = [];
console.log(s.length);
if (!(s.length % 2 === 0)) {
//길이가 홀수이면 참일수없으니
return false;
}
for (let letter of s) {
// console.log(letter);
if (Object.keys(left).indexOf(letter) > -1) {
stack.push(letter);
} else {
if (stack.length < 1) {
// '}}' 요렇게 들어오는 경우 대비
return false;
}
let finalLeft = stack[stack.length - 1];
if (left[finalLeft] === right[letter]) {
stack.pop();
}
}
}
// console.log(stack.length > 0);
return stack.length > 0 ? false : true;
}
console.log(isValid("))"));
.push() .pop()
の後ろから充填が始まり、後ろから削除が始まります.Reference
この問題について([CodeKata]Day8. かっこの順序を確認), 我々は、より多くの情報をここで見つけました https://velog.io/@realsong/CodeKataDay8.-괄호-순서-확인テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol