#나의 풀이

function solution(arr)
{
    let answer = [];
    if(arr.length >= 2){
        for (let i = 0; i < arr.length - 2; i++){
            if(arr[i] !== arr[i + 1]){
                answer.push(arr[i]);
            }
        }
        answer.push(arr[arr.length - 1]);
        return answer;
    }
    else{
        answer = arr;
        return answer
    }
}

 

# 다른 방법

function solution(arr){
	return arr.filter((item, index) => item !== arr[index+1])
}

*Array의 index에서 벗어난 수를 입력할 경우 indexError가 나올것으로 예상했으나, 실제로는 undefinded로 반환

그렇기 때문에 filter를 활용하여 callback함수 내에서 비교가 가능

 

2021/01/03 - [개발/Javascript] - filter

 

filter

Array.filter(callback()) ==> Array1배열을 순회하며 주어진 callback 함수에서 true를 반환한 요소들을 모아 새로운 배열로 반환한다. const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction',..

jwookj.tistory.com

 

'코딩테스트 > Javascript' 카테고리의 다른 글

수박수박수박수박수박수?  (0) 2021.01.11
서울에서 김서방 찾기  (0) 2021.01.09
문자열 다루기 기본  (0) 2021.01.06
문자열 내림차순으로 배치하기  (0) 2021.01.05
문자열 내 p와 y의 개수  (0) 2021.01.01

+ Recent posts