0부터 9가지 이루어져있는 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거
제거된 후 남은 수들을 반환할 때는 arr의 순서를 유지
arr의 크기는 1,000,000 이하의 자연수
arr | answer |
---|---|
[1,1,3,3,0,1,1] | [1,3,0,1] |
[4,4,4,3,3] | [4,3] |
function solution(arr){
const answer = [];
for(let i=0, max=arr.length; i<max; i++){
arr[i]!==arr[i+1] && answer.push(arr[i])
}
return answer;
}
arr 배열[i]와 배열[i+1]을 비교해서 다른 경우 빈 배열 answer에 추가
🤍 const로 선언했는데 왜 배열 변경 가능?
const로 선언된 값은 재할당 할 수 없는데
배열에 값을 추가할 수 있는 이유는
객체, 배열, 함수는 참조 타입이기 때문
할당된 값을 직접 저장하는 것이 아니라 메모리 주소를 저장
const a = [1,2,3,4];
// 새로 할당하는 것은 안됨 (주소 변경)
a = [2,3,4,5]
// 값을 바꾸는 것은 가능
a.push(999);