📝 문제풀이/프로그래머스
[Level 1] 나누어 떨어지는 숫자 배열
NoHack
2022. 2. 27. 04:26
728x90
문제 설명
array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.
제한 조건
- arr은 자연수를 담은 배열입니다.
- 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다.
- divisor는 자연수입니다.
- array는 길이 1 이상인 배열입니다.
문제 풀이
const solution = (arr, divisor) => {
// v % divisor === 0으로 해도 됩니다.(0의 반전은 1)
const answer = arr.filter((v) => !(v % divisor)).sort((a, b) => a - b);
return answer.length ? answer : [-1];
};
const inputs = [
[[5, 9, 7, 10], 5],
[[2, 36, 1, 3], 1],
[[3, 2, 6], 10],
];
inputs.forEach((input) => console.log(solution(...input)));
이 문제는 divisor로 나누어 떨어지는 값들만 filter로 추릴 수 있으면 간단히 해결 가능합니다.