Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

나 개발자 할래요

[JS] 나누어 떨어지는 숫자 배열 본문

카테고리 없음

[JS] 나누어 떨어지는 숫자 배열

개발_자 2024. 6. 20. 16:47

 

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)
    }  return answer.sort((a, b) => a - b);    
}

 

for(let i = 0; i < arr.length; i++) {
    if(arr[i] % divisor == 0) {
        answer.push(arr[i]);
    }
}

 

`arr` 배열을 순회하며 `divisor`로 나누어 떨어지는 요소 `answer` 배열에 추가

 

if(answer.length == 0) {
    answer.push(-1);
}

 

만약 `answer` 배열이 비어 있다면,

즉 `divisor`로 나누어 떨어지는 요소가 하나도 없다면

`answer` 배열에 `-1` 추가

 

return answer.sort((a, b) => a - b);

 

`answer` 배열을 오름차순으로 정렬한 후 반환

정렬을 위해 `sort` 메서드를 사용하고,

 

숫자 오름차순 정렬을 위해 비교 함수를 `(a, b) => a - b`로 전달

 

 

`arr` 배열에서 `divisor`로 나누어 떨어지는 요소들만

필터링하여 `answer` 배열에 저장

 

`filter` 메서드는 배열의 각 요소를 순회하면서

주어진 조건(여기서는 `v % divisor == 0`)을 만족하는 요소들로 이루어진 새로운 배열 반환

`v`는 `arr` 배열의 각 요소를 나타냄

 

 

 

`arr` 배열의 각 요소 `o`에 대해

` o % divisor === 0 `조건 검사

이 조건이 참이면 `answer` 배열에 `o`를 추가

 

`map` 메서드를 사용하지만,

실제로 배열을 변형하거나 새 배열을 만들지는 않고

단순히 조건 검사를 위해 사용

 

`o % divisor === 0 && answer.push(o)`는

논리 AND 연산자(&&)를 사용하여

조건이 참일 때만 `answer.push(o)`가 실행