array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수를 작성
divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환
function solution(arr, divisor) {
// 결과를 담을 변수 선언하고 빈배열 할당
let resultArr = []
// 배열의 요소를 돌아가면서 divisor로 나눠주기
arr.forEach(el => {
// 떨어지는 요소가 있으면 해당 요소를 오름차순으로 정렬한 배열을 반환
if(el % divisor === 0) {
resultArr.push(el)
}
})
resultArr.sort((a, b) => a - b)
// 떨어지는 요소가 하나도 없다면 배열에 -1 담아 반환
if(resultArr.length === 0) {
resultArr.push(-1)
}
return resultArr
}
function solution(arr, divisor) {
let resultArr = []
// 배열의 요소를 돌아가면서 divisor로 나눠주기
arr.forEach(el => {
// 떨어지는 요소가 있으면 해당 요소를 오름차순으로 정렬한 배열을 반환
if(el % divisor === 0) {
resultArr.push(el)
}
})
// 떨어지는 요소가 하나도 없다면 배열에 -1 담고
if(resultArr.length === 0) {
resultArr.push(-1)
}
// 그게 아니라면(떨어지는 요소가 있으면) sort 적용
else {
resultArr.sort((a, b) => a - b)
}
// 결과를 반환
return resultArr
}
불필요한 연산 적용을 배제하거나 가독성 면에서도 이게 좀 더 나은 것 같다.
function solution(arr, divisor) {
var answer = arr.filter(v => v%divisor == 0);
return answer.length == 0 ? [-1] : answer.sort((a,b) => a-b);
}
function solution(arr, divisor) {
var answer = [];
arr.map((o) => {
o % divisor === 0 && answer.push(o);
})
return answer.length ? answer.sort((a, b) => a - b) : [-1];
}