プログラマ:ペアリングの削除ペアリングノサクジョ


質問:ペアリングの削除
100/100
基本内容
アタッチされた文字を削除し続けても削除できない場合は、0がすべて削除を返すと1を返します.
最初は時間を無駄にして、いろいろ考えた結果、接続は最後の目標を基準にしていることがわかりました.次の目標であれば削除してpush pop関係を利用すればいいのです.
マイコード
function solution(s)
{
    let a=[];
    for(let i=0;i<s.length;i++)
        {
            if(a[a.length-1] == s[i] ){
                a.pop();
            }
            else{
                a.push(s[i]);
            }
                
        }
    return a.length == 0 ? 1 : 0;
}
変更
function solution(s)
{
    let result=[];
    const s_length = s.length;
    
    for(let i=0;i<s_length;i++)
        {
            if(result[result.length-1] === s[i] )
                result.pop();
            else
                result.push(s[i]);
        }
    return result.length === 0 ? 1 : 0;
}
resultに変更してs lengthを設定し、ifelseカッコ==を削除するのではなく===に書き込みます.
for in/for of
1. String
let string = 'abc'
for(val of string)
  console.log(val)

for(val in string)
  console.log(string[val])
a
b
c
a
b
c
2. Array
let arr = ['a','b','c']
for(val of arr)
  console.log(val)

for(val in arr)
  console.log(arr[val])
a
b
c
a
b
c
3. Object
let obj = { 0 : 'a', 1:'b' ,2 :'c'}
for(val of obj)
  console.log(val)		//VM1301:2 Uncaught TypeError: obj is not iterable

for(val in obj)
  console.log(obj[val])		// a b c 각각 출력
追及しなければならないなら、valではなくidxと言うべきで、混同しない.
  • for inは、配列内のインデックス値を表し、主に[]に使用されます.
    forは1つの値をオブジェクトと見なすだけでよい.
  • オブジェクトでforにエラーが発生しました.
  • for for forオブジェクトを可能にする
    let obj = { 0 : 'a', 1:'b' ,2 :'c'}
    for(val of Object.keys(obj))
      console.log(obj[val])
    フォーインと同じ効果がありますが、どうしてもそうならfor inと書いておきましょう.
    for,for,inはすべてvalにvalを設定しなければならない.
  • for配列中for inオブジェクト中