728x90
반응형
풀이
function solution(arr, divisor) {
var answer = [];
arr.every((num) => num % divisor !== 0)
? (answer = [-1])
: arr
.sort((a, b) => a - b)
.map((element) => {
if (element % divisor === 0) {
answer.push(element);
}
});
return answer;
}
이번에 문제를 풀면서 array.every()를 처음 써보았는데 효율이 좋았다.
조건에서 divisor로 나누어 떨어지는 element가 하나도 없다면을 어떻게 처리해주어야할지 고민이었는데,
every()함수를 사용하여 나머지가 모두 0이 아니라면 [-1]을 반환하도록 하였다.
그외의 경우는 map()을 이용하여 나머지가 0인것만 고른다음에 answer라는 새로운 배열에다가 push를 해주었다.
그리고 이 모두를 한번에 표현하고 싶어서 삼항연산자를 이용하였다.
'🍀 코딩 테스트 > 프로그래머스' 카테고리의 다른 글
LV1 - 문자열 내 마음대로 정렬하기 (0) | 2022.07.13 |
---|---|
LV1 - 두 정수 사이의 합 (0) | 2022.07.13 |
LV1 - 같은 숫자는 싫어 (0) | 2022.07.12 |
LV1 - 가운데 글자 가져오기 (0) | 2022.07.12 |
LV1 - 2016년 (0) | 2022.07.12 |