[프로그래머스] 자바스크립트 - 같은 숫자는 싫어

멤오장·2023년 4월 4일
0

코딩테스트 연습

목록 보기
15/18

[프로그래머스] 코딩테스트 같은 숫자는 싫어


문제 설명

0부터 9가지 이루어져있는 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거
제거된 후 남은 수들을 반환할 때는 arr의 순서를 유지


제한사항

arr의 크기는 1,000,000 이하의 자연수


입출력 예

arranswer
[1,1,3,3,0,1,1][1,3,0,1]
[4,4,4,3,3][4,3]

문제 풀이

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

arr 배열[i]와 배열[i+1]을 비교해서 다른 경우 빈 배열 answer에 추가


🤍 const로 선언했는데 왜 배열 변경 가능?

const로 선언된 값은 재할당 할 수 없는데
배열에 값을 추가할 수 있는 이유는
객체, 배열, 함수는 참조 타입이기 때문
할당된 값을 직접 저장하는 것이 아니라 메모리 주소를 저장

const a = [1,2,3,4];

// 새로 할당하는 것은 안됨 (주소 변경)
a = [2,3,4,5]

// 값을 바꾸는 것은 가능
a.push(999);
profile
일단 적기

0개의 댓글