Programmers/Level 1

[Javascript] 프로그래머스 : 같은 숫자는 싫어

emayom 2021. 7. 7. 00:28

[Javascript] 프로그래머스 Level1 _ 같은 숫자는 싫어

 

👇🏻

Link_Click

 

 

👇🏻

시행착오

( + 코드를 작성하면서든 생각들.)


1.

기존 배열을 돌면서 앞과 뒤의 수가 일치하면 continue하고,

달라지면 그때 새로운 배열에 push()하도록 구성했다!

이렇게만 구성해도 문제는 정확성 + 효율성 모두 통과할 수 있다.

function solution(arr){
    var answer = [];
    
    for(let i=0; i<arr.length; i++){
        if(arr[i] == arr[i+1]){
            continue;
        }
        answer.push(arr[i]);  
    }    
    return answer;
}

2.

하지만 기존 배열의 앞과 뒤를 자꾸 비교하며 짜다 보니 복잡하게 생각하는 것 같아서

새로운 배열에 가장 마지막에 담긴 값과 비교하는 것으로 수정했다.

 

새로운 배열에 arr[0]을 담아두고 arr[i] 값이 마지막으로 추가된 배열의 값과 일치하지 않으면

새로운 배열에 담은 값과 비교했다.

function solution(arr){
    var answer = [arr[0]];
    var cnt = 0;
    
    for(let i=0; i<arr.length; i++){
        if(answer[cnt] != arr[i]){
            answer.push(arr[i]);
            cnt++;
        } 
    }
    return answer;
}

filter() 함수를 이용해 보려고 했는데 중복 값을 모두 제거하지 않고 이렇게 부분적으로 제거하는 것은 아직은 부족한 것 같다..! ㅠㅠ

함수를 사용한 다른 풀이들을 확인해보려고 구글링 하다가 발견한 리뷰인데 참고해서 다시 도전해봐야겠다!

 

 

[자바스크립트 알고리즘] - 같은 숫자는 싫어!

안녕하세요 Macus입니다. 이전편 나누어 떨어지는 숫자 배열을 이어 12편을 작성하겠습니다. 12편은 같은 숫나는 싫어!라는 알고리즘 문제입니다 문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원

velog.io

 

⚠️ 아래 내용은 모두 개인적인 참고 / 기록을 위한 용도입니다. 참고해주시고 편안하게 봐주세요 :)  ⚠️

***    혹시라도 잘못된 정보가 있다면  언제든지 알려주시면 감사하겠습니다  !    ***