[프로그래머스] 나누어 떨어지는 숫자 배열

stella·2023년 2월 2일
0

Algorithm

목록 보기
37/40
post-thumbnail

문제

array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.
divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.

입출력
arr = [5, 9, 7, 10]
divisor = 5
return [5, 10]


풀이

  • arr 배열의 각 element를 divisor 로 나눴을 때 0으로 떨어지면 빈배열 answer 에 저장
  • divisor로 나누어 떨어지는 element가 하나도 없다 === 빈배열 answer에 저장된 값이 없다.
    따라서, 더이상 for문을 사용할일이 없으니까 for문 밖에서 if문을 사용해야 한다.
  • 빈배열이라면? answer에 -1을 넣어주고, 최종적으로 answer를 오름차순 정렬해 return
function solution(arr, divisor) {
    var answer = [];
    for (let i = 0; i < arr.length; i++) {
        if (arr[i] % divisor === 0) {
            answer.push(arr[i]);
        } 
    }
    if (answer.length === 0) {
        answer.push(-1);
    }
    answer.sort((a,b) => a-b);
    return answer;
}
profile
Frontend Engineer

0개의 댓글