프로그래머스 문제 풀이 나누어 떨어지는 숫자 배열 (JS)

나누어 떨어지는 숫자 배열

문제분석
array의 각 원소 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수를 만들자. divisor로 나누어 떨어지는 원소가 없다면 -1을 return


제한사항
1. arr은 자연수를 담은 배열
2. 정수 i,j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] ==> ( 중복되는 원소가 없다 )
3. divisor는 자연수
4. arr는 길이 1 이상인 배열



arr = [5,9,7,10] , divisor = 5 이면 return [5,10]
arr = [2,36,1,3] , divisor = 1 이면 return [1,2,3,36]
arr = [3,2,6] , divisor = 10 이면 return [-1]


풀이

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

다른풀이

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

느낀점
return 시 sort를 주는 편이 훨씬 유용한 것 같다. 불필요하게 거쳐야하는 로직이 없도록 잘 살펴보고 코드를 짜자!

좋은 웹페이지 즐겨찾기