Programmers 나누어 떨어지는 숫자 배열 Javascript

cptkuk91·2022년 6월 22일
1

Algorithm

목록 보기
20/161

나누어 떨어지는 숫자 배열

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

제한 사항

  • arr은 자연수를 담은 배열입니다.
  • 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다.
  • divisor는 자연수입니다.
  • array는 길이 1 이상인 배열입니다.

입출력 예

입출력 예 설명

입출력 예#1
arr의 원소 중 5로 나누어 떨어지는 원소는 5와 10입니다. 따라서 [5, 10]을 리턴합니다.

입출력 예#2
arr의 모든 원소는 1으로 나누어 떨어집니다. 원소를 오름차순으로 정렬해 [1, 2, 3, 36]을 리턴합니다.

입출력 예#3
3, 2, 6은 10으로 나누어 떨어지지 않습니다. 나누어 떨어지는 원소가 없으므로 [-1]을 리턴합니다.

function solution(arr, divisor) {
	let result = [];
    for(let i = 0; i < arr.length; i++){
    	if(arr[i] % divisor === 0) {
        	result.push(arr[i]);
        }
    }
    result.sort((a, b) => a - b);
    if(result.length === 0){
    	result.push(-1);
    }
    return result;
}

arr 배열을 for문을 통해 하나씩 반복해 돌립니다. divisor를 통해 나누고, 나누어 떨어진다면 선언된 result에 push해 줍니다.

return 값을 sort해야 하기 때문에 result.sort를 통해 정렬했고, 나누어 떨어지는 숫자가 없을 때를 result 길이가 0일 때 이기 때문에(push된 값이 없다.) result 길이가 0이라면 -1을 push 했습니다.

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글