풀이
김영준
function solution(arr) { const stk = []; let i = 0; while(i < arr.length){ if(stk === []){ stk.push(arr[i]); i++; } else{ if(stk[stk.length - 1] === arr[i]){ stk.pop(); i++; }else { stk.push(arr[i]); i++; } } } return stk.length ? stk : [-1]; }
이종현
function solution(arr) { let stack = [arr[0]]; for (let i = 1; i < arr.length; i++) { stack[stack.length-1] === arr[i] ? stack.pop() : stack.push(arr[i]); } return stack.length ? stack : [-1]; }
박노철
function solution(arr) { let i =0; const stk=[]; while(i<arr.length){ if(stk.length===0){ stk.push(arr[i]); i++; }else{ const l =stk[stk.length-1] if(l===arr[i]){ stk.pop() i++ }else{ stk.push(arr[i]) i++; } } } return stk.length>0? stk:[-1] }
이민희
function solution(arr) { const stk = arr.reduce((stk, cur) => { if (stk.length === 0) stk.push(cur) else if (stk[stk.length - 1] === cur) stk.pop() else stk.push(cur) return stk; }, []) return stk.length === 0 ? [-1] : stk }
박건우
function solution(arr) { const answer = []; arr.forEach((v, i) => { if(!answer.length){ answer.push(v); } else if(answer[answer.length - 1] === v){ answer.pop(); }else{ answer.push(v); } }) if(!answer.length){ answer.push(-1); } return answer; } // 이건 고차함수로 가능하네용
박주연
function solution(arr) { const stk = []; let i = 0; while( i < arr.length){ if(stk.length === 0){ stk.push(arr[i]); i++ }else if(stk && stk[stk.length-1] === arr[i]){ stk.pop(); i++ }else{ stk.push(arr[i]); i++ } } return stk.length === 0 ? [-1]: stk }