본문 바로가기
알고리즘 스터디/[프로그래머스] 연습문제

[알고리즘] 나누어 떨어지는 숫자 배열 문제풀이(자바스크립트 javascript)

by 제니운 2022. 7. 16.
728x90

(문제풀이 생각)

1. 함수 모양

    // if arr의 [i]가 divisor로 나누었을 때, 나머지가 0이되면
    // return 해줘 arr[i]
    // 나머지 0인 것이 없으면, 
    // return [-1]

 

2. return 값은 오름차순 이다!

 

 

👌 arr의 [] 값을 가져와야 하니까 [i]라고 해주자

for(let i = 0; i<arr.length; i++)  // 이렇게

 

👌 arr[i]를 divisor로 나누었을 때 나머지가 0인것

if(arr[i] % divisor ==0)

 

👌 나머지 0인것을 찾아냇으니까 arr[i]를 answer에 넣어주자

answer.push(arr[i])  // push 함수 써서 넣어주기

 

👌 나머지 0인것을 answer로 넣어줬는데, 나머지 0인것이 없으면 ? answer가 없겠지!

if(answer.length == 0){   // answer가 없으니까 길이가 0일거고

     answer.push(-1);   // 길이가 없으면 -1을 answer로 넣어줘!

}

 

👌 이제 answer값을 가져오자

return answer;

 

👌 어 그런데 answer의 값이 오름차순 정렬 되어 있네?

answer.sort((a,b) => a-b); // 이걸 return 위에 넣어주면 된다.

 

오름차순 정렬 : sort((a,b) => a-b) 

 

 

✅ 최종 코드

 

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