같은 숫자는 싫어

2023. 11. 2. 08:33알고리즘

  

arr = [0~9],  중복 숫자는 하나만 남기고 반환 순서 유지.

생각정리.

function solution(arr)
{
    var answer = [];

    // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
    console.log('Hello Javascript')
    
    return answer;
}

 

set ?이 고유한 값 같은 거 관리 할 때 쓰는거니 

배열을 set값에 입력해주면 

set(arry) 순서유지 되면서 하나만 남길 거 같은데

 set이 안먹히는 거 같습니다..? 정의 되지 않았다고 뜨는데

 

그러면 arry.filter -> 값 뽑은 다음 그 요소의 인덱스 값들을

indexof와 일치하는 지 비교해서

배열로 모아주면 될 거 같은데 

 

 

 

 

 

 

 

 

다른 사람들 풀이

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

 

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;
}

 

let solution=_=>_.filter((i,$)=>i!=_[--$])

 

첫번째 풀이가 내가 생각한 방향이랑 비슷하다 하지만 더 간단하게 되어 있는데

어제 푼 문제 중에서도 인덱스 +1을 줘서 숫자 자리랑 비교 하는게 있었는데 그걸 생각했으면

값 vs 인덱스+1을 비교해서 좀 더 간단하게 만들 수 있었는데 생각하지 못 한 게 아쉽네.

'알고리즘' 카테고리의 다른 글

컨트롤 제트  (2) 2023.11.09
짝수의 합  (0) 2023.11.08
두 수의 합, 차, 곱  (1) 2023.11.03
숫자 찾기  (1) 2023.11.01
n의 배수 고르기  (0) 2023.11.01