[Code Kata] Week 2 - Day 3
質問する
sは、複数の括弧からなるStringパラメータである。true/false、sが有効かどうかを返してください。
「(」、「)」、「[」、「]」、「{」、「}」の6種類があります.次の場合に有効です.かっこを開始するには、同じカッコで終了します.かっこの順序は正しいです.
例:s = "()"
return true
s = "()[]{}"
return true
s = "(]"
return false
s = "([)]"
return false
s = "{[]}"
return true
Code
まず括弧をキーと値に分けますので分けます.function isValid(s) {
const bracket = {
'(': ')',
'{': '}',
'[': ']'
}
}
しかし、どんなに時間が流れても感覚が見つからないので、googlingではreduceやslice、pop、pushを使ってこの機能を実現することができます.function isValid(s) {
const bracket = {
'(': ')',
'{': '}',
'[': ']'
}
const remained = s.split('').reduce((ac, cv, i, arr) => {
if (bracket[ac.slice(-1)] === cv) {
ac.pop();
} else {
ac.push(cv)
}
console.log(ac)
return ac;
}, []);
return remained.length === 0;
}
「
s = "()"
return true
s = "()[]{}"
return true
s = "(]"
return false
s = "([)]"
return false
s = "{[]}"
return true
まず括弧をキーと値に分けますので分けます.
function isValid(s) {
const bracket = {
'(': ')',
'{': '}',
'[': ']'
}
}
しかし、どんなに時間が流れても感覚が見つからないので、googlingではreduceやslice、pop、pushを使ってこの機能を実現することができます.function isValid(s) {
const bracket = {
'(': ')',
'{': '}',
'[': ']'
}
const remained = s.split('').reduce((ac, cv, i, arr) => {
if (bracket[ac.slice(-1)] === cv) {
ac.pop();
} else {
ac.push(cv)
}
console.log(ac)
return ac;
}, []);
return remained.length === 0;
}
「[]
に出力される.Reference
この問題について([Code Kata] Week 2 - Day 3), 我々は、より多くの情報をここで見つけました https://velog.io/@silviaoh/Code-Kata-Week-2-Day-3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol