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

이명진·2022년 8월 12일
0

코드카타

목록 보기
34/68

문제해설

주어진 배열에 중복을 제거 한 값을 리턴하는 것이다.
처음 Set()을 쓰려고 했으나 객체를 리턴해서 새로 짜게 되었다.
배열 문제를 들어가기 전에 쉬운문제로 이 문제를 골랐는데
생각보다 오래걸렸다. ㅋㅋ 계산하는데 머리가 쉽게 굴러가지 않아서 힘들었다

내가 푼 로직

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

  }
    return newArr
}

단순히 앞뒤 비교를 한다음에 다를 경우만 새로운 배열에 넣어주는 것
for 문을 돌릴때 arr.length+1에서 애를 먹었다.
하나하나 비교해본다음에 +1로 정할수 있었다.

다른 사람의 풀이

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

filter . for문이 지겨워서 filter 를 쓰려고 했는데 계산에 머리가 아파서
일단 자주 사용하던 for문을 사용해서 문제를 풀었다.

다음에 다시 풀때는 filter로 풀어 봐야겠다

profile
프론트엔드 개발자 초보에서 고수까지!

0개의 댓글