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

Jun_Gyu·2023년 8월 28일
0

프로그래머스

목록 보기
8/14
post-thumbnail

첫 풀이

배열arr는 0~9의 숫자로 이루어 져 있으며, 중복되는 다른 요소들을 모두 제거하여 하나씩의 요소들만 출력하는 문제이다.

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

풀이 방법으로는 아무값도 들어있지 않은 변수 xanswer라는 배열을 미리 선언해두고,
반복문을 통해 배열의 다음 인덱스와 비교하여 값이 달라질때마다 answer로 해당 값을 하나씩 push 할 수 있도록 코드를 구성했다.

결과는 가볍게 통과!



풀이개선

사실 풀이 개선이라기 보다는 for 반복문을 forEach로 변경한것이 전부이다.

어짜피 배열의 모든 요소들을 한번씩 순회해야하기 때문에, 굳이 for반복문이 아닌 forEach 반복문을 사용하는 것이다.

const solution = (arr) => {
    let x ;
    let answer = [];
    arr.forEach((item) => {
        if(x !== item){
            answer.push(item)
            x = item
        }
    })
    return answer;
}

어짜피 비슷한 방식의 풀이라서 그런지 테스트 케이스에서 걸린 시간도 감소한것이 아니라 오히려 증가(?) 한 모습을 보이기도 한다..

profile
시작은 미약하지만, 그 끝은 창대하리라

0개의 댓글