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

728x90
반응형

(1) 내 코드

function solution(arr, divisor) {
 
    let newArr =[];
    arr.sort((a,b)=>a-b);
    arr.forEach((value)=>{
        if(value %divisor === 0){
            newArr.push(value);
        }
    })
    if(newArr.length === 0 ) {newArr.push(-1);}
    return newArr;
}

▶ 나누어 떨어지는 숫자 배열
1. arr 오름차순정렬
2. divisor로 나눠서 나머지가 0이면
3. 새로운 배열에 push
4. 새로운 배열 length===0 return -1

 

같은 팀원분 : return newArr.push(-1)로 직접 리턴할 경우: -1이 아닌 1이 리턴되는 케이스 발생

=> 배열의 push 메서드는 배열 요소를 추가한 뒤, 새로운 배열의 길이 반환!

=> return하면 배열의 길이를 반환하여 값 -1이 아닌 새로운 배열길이 1 리턴함. 

 

 

(2) 다른 사람 코드

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

▶ filter 사용 -> 나눠지는 값 구분

▶ 길이로 [-1]  또는 정렬해서 반환

 

끝.

반응형