알고리즘

프로그래머스 Level 1 - 같은 숫자는 싫어(JavaScript)

또롱또 2022. 5. 16. 09:13
728x90

https://programmers.co.kr/learn/courses/30/lessons/12906

function solution(arr)
{
    var answer = [];
    // map을돌면서 value와 index에 접근을 해줄 예정이다
    arr.map((value,index)=>(
        // value값이 다음 index의 값과 다르면 && 그 값을 push 해준다
        value !== arr[index+1] && answer.push(value)
    ))
    
    // 즉, 1, 1은 같으니까 패스하고, 1,3 일경우 1을 push 하는 방법이다.

    return answer;
}

이번에는 지금까지 알고리즘을 하면서 배운 지식인 map을 이용해 각 배열의 값과 인덱스에 접근하고

&& 를 이용해서 true값을 push해 주었다.

정답코드는 거의 비슷하지만 filter를 사용했다. 

filter는 말 그대로 뒤에 조건에 맞는거만 필터링해서 남겨준다. 

즉 filter를 쓰면 map처럼 따로 push를 해줄 필요가 없다.

function solution(arr)
{
    return arr.filter((val,index) => val != arr[index+1]);
}
728x90