티스토리 뷰
나의 문제풀이
function solution(arr, divisor) {
let result = [];
for(let i=0; i<arr.length; i++){
if(arr[i]%divisor === 0){
result.push(arr[i])
}
}
if(result.length !== 0){
return result.sort((a,b) => a-b)
}else{
return [-1]
}
}
문제를 통과하였으나. 코드가 너무 길다.
filter. 고차함수를 사용하여 좀더 간결하게 나타낼수있다.
간결하다고 좋은 코드는 아니지만, 고차함수와 삼항연산자를 사용하니 가독성이 더 좋다.
function solution(arr, divisor) {
let filter = arr.filter(el => el%divisor ===0)
return filter.length!==0? filter.sort((a,b)=>a-b) : [-1]
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
콜라츠추측 (0) | 2021.12.09 |
---|---|
최소공배수 최대공약수 (0) | 2021.12.09 |
없는 숫자 더하기 (0) | 2021.11.19 |
로또의 최고 순위와 최저 순위 (0) | 2021.11.18 |