티스토리 뷰

나의 문제풀이

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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   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
글 보관함