function solution(arr)
{
var answer=[]
for (i=0;i<arr.length;i++){
if(arr[i]!=arr[i+1]){
answer.push(arr[i])
}
}
return answer;
}
undefined
var arr = [1, 1, 3, 3, 0, 1, 1]
undefined
solution(arr)
(4) [1, 3, 0, 1]
var arr2 = [4, 4, 4, 3, 3]
undefined
solution(arr2)
(2) [4, 3]
1,1비교 => 1제거
1,3비교=> 다음으로 넘어가기
3,3비교=> 3제거
단, 배열에서 값을 제거하면 인덱스가 변할 수 있으니, 방법을 조금 바꿔보자.
예)
1,1비교=> 넘어가기
1,3비교 => 1을 새 배열에 넣기
3,3비교 => 넘어가기
3,0비교 => 3을 새 배열에 넣기
//Test
for (i=0;i<arr.length;i++){
if(arr[i-1]!=arr[i]){console.log(arr[i-1])}}
VM375:2 undefined
VM375:2 1
VM375:2 3
VM375:2 0
마지막 값은 리턴되지 않았다. 1,1이 연속으로 같은 값인데, 비교할 다음 값이 없기 때문이다.
for (i=0;i<arr.length;i++){
if(arr[i]!=arr[i+1]){console.log(arr[i])}}
VM447:2 1
VM447:2 3
VM447:2 0
VM447:2 1
function solution(arr)
{
var answer=[]
for (i=0;i<arr.length;i++){
if(arr[i]!=arr[i+1]){
answer.push(arr[i])
}
}
return answer;
}
undefined
var arr = [1, 1, 3, 3, 0, 1, 1]
undefined
solution(arr)
(4) [1, 3, 0, 1]
var arr2 = [4, 4, 4, 3, 3]
undefined
solution(arr2)
(2) [4, 3]