stack을 활용해서 만약 넣을려는 값이 다음에 넣을려는 값과 같다면 그에 해당하는 넣을려는 값은 넣었다 빼주었다. (?)
즉, 다음 인덱스의 값과 자신의 값이 달라야만 넣어줌
하지만 코드가 만족스럽지 못하고 엥 소리가 나온다..
function solution(arr)
{
let stack = [];
for (i=0; i<arr.length; i++) {
if (arr[i] === arr[i+1]) {
stack.push(arr[i])
stack.pop()
} else {
stack.push(arr[i])
}
}
return stack
}
filter를 생각도 해봤지만 정말 간단하고 정석인 filter가 있었다
function solution(arr) {
return arr.filter( (v, i) => v !== arr[i+1])
}
혹은 arr[0]을 배열로 선언한 정석풀이
function solution(arr) {
var answer = [arr[0]];
for (let i=1; i<arr.length; i++) {
if (answer[answer.length - 1] !== arr[i]) {
answer.push(arr[i]);
}
}
return answer;
}