배열의 원소 중 divisor로 나누었을 때, 나누어 떨어지는 원소를 오름차순으로 정렬해 리턴하기.
function solution(arr, divisor) {
let answer = [];
arr.sort((a, b) => a - b).forEach((v, i) => {
if (v % divisor === 0) {
answer.push(v)
}
})
return answer.length > 0 ? answer : [-1];
}
console.log(solution([3, 2, 6], 10))
[5,9,7,10]과 5가 주어지면 [5, 10]을 리턴해야 합니다. 아무것도 없으면 [-1]을 리턴합니다.
역시나 filter로 쉽게 필터링할 수 있습니다. 근데 [-1]을 리턴해야하는 조항 때문에 한 줄로 못 끝내서 짜증이 나네요(한 줄로 하면 코드가 너무 지저분해집니다)
function solution(arr, divisor) {
const answer = arr.filter(el => el % divisor === 0);
return answer.length ? answer.sort((p, c) => p - c) : [-1];
}
마지막에 정답 배열의 개수로 오름차순 정렬을 할지, [-1]을 리턴할지 결정하고 있습니다.