Programmers/Level 1

[Javascript] 프로그래머스 : 나누어 떨어지는 숫자 배열

emayom 2021. 7. 15. 22:45

[Javascript] 프로그래머스 Level1 _ 나누어 떨어지는 숫자 배열

 

👇🏻

Link_Click

 

👇🏻

시행착오

( + 코드를 작성하면서든 생각들.)


1.

반복문을 이용해 배열을 돌며 divisor로 나누어 떨어지는 수 들을 리턴했다.

 

LENGTH를 선언한 것은 반복문에서 Array.length를 사용할 경우

반복문이 실행될 때마다 배열의 length를 구하는 작업을 하게 되어

결론적으로는 성능에 좋지 못하다는 글을 우연히 봤다. (아래에 링크를 걸어 두었다!)

아직 그런 걸 확인할 수 있을 만큼 깊이가 있지는 않지만ㅎㅎㅎㅎ 봤으니 나쁜 습관이 되기 전에 고쳐보려고 한다! 

function solution(arr, divisor) {
    const LENGTH = arr.length;
    let answer = [];
    
    for(let i=0; i<LENGTH; i++){
        if(arr[i]%divisor == 0)
           answer.push(arr[i]);
           answer.sort((a,b)=>a-b);
    }
    
    return (answer.length != 0)? answer : [-1];
}

2.

2주쯤,,,? 전에 딱 한 번 풀고선 포스팅을 정리하지 않았길래 

다시 풀었는데 왜 잘 풀리는지 그때는 filter()를 왜 안 썼는지 의문이다.

정말 알 수 없다 🥸🥸

function solution(arr, divisor) {
    let answer = arr.filter((el) => el%divisor == 0);  
    return (answer.length != 0)? answer.sort((a,b) => a-b) : [-1];
}

 


 

자바스크립트 성능 최적화 #1 : 코드 스타일

nhn은 이렇게 한다 자바스크립트 성능 이야기의 내용들을 발췌하였음 바로 활용할 수 있는 부분을만 추려서 요약한다. 코드 스타일 부분에서는 크게 아래 3가지를 통해 성능을 향상시킬 수 있다

donggov.tistory.com

 

⚠️ 아래 내용은 모두 개인적인 참고 / 기록을 위한 용도입니다. 참고해주시고 편안하게 봐주세요 :)  ⚠️

***    혹시라도 잘못된 정보가 있다면  언제든지 알려주시면 감사하겠습니다  !    ***