[콭] 같은 숫자는 싫어 : 스택/큐, filter함수

강원지·2023년 1월 28일
0

코테 다시보기

목록 보기
5/22

코딩테스트 연습
스택/큐
같은 숫자는 싫어

문제

배열 내 연속적인 숫자 삭제

로직

연속적이지 않은 숫자만 정답 배열에 저장함.

코드

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

생각해보기

push함수

push는 성능이 떨어지기 때문에 answer[answer.length]=flag; 또는 answer=[...answer,flag];를 사용하는 것이 더 빠름.

filter 함수 사용법

1 중복

let arr=[1,2,3,4,5,5];
let answer=arr.filter((e,i,self)=>self.indexOf(e)===i)
//e:요소, i:인덱스, self:순회대상

2 객체배열

let person=[{name:'won',age:32},{name:'whan',age:26}];
let young=person.filter((man)=>man.age<30);

const old=person.filter((man)=>{
  if(man.age>80) return true;
  return false;
});

0개의 댓글