본문 바로가기
Algorithm/Programmers

[Programmers] 같은 숫자는 싫어(JavaScript)

by 백승전 2022. 5. 3.

 

알림

 

본 포스팅은 공부 목적으로 작성된 글이며 상업적 목적으로 절대 사용되지 않았음을 밝힙니다.

 

문제

 

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

 

코딩테스트 연습 - 같은 숫자는 싫어

배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은

programmers.co.kr

 

배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다.

예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다.arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다.
배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요.

 

코드

 

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

 

풀이

 

첫 번째로 리턴 할 빈 배열을 만들어 줍니다.

 

그리고 반복문을 통해, 배열의 첫 번째 요소는 연속으로 중복된 수가 절대 아닐 것이기에 무조건 먼저 담아주고, 그 다음부터는 첫 번째랑 비교하면서 다르면 빈 배열에 담아주면 됩니다.

댓글