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

최유나·2024년 6월 24일
0

프로그래머스

목록 보기
25/53

✨ 나누어 떨어지는 숫자 배열

나의 풀이

// map
function solution(arr, divisor) {
    let answer = [];
    arr.map(n => {n % divisor == 0 && answer.push(n);})
  	//n % divisor === 0 이게 참이면 && 뒤 구문은 무조건 실행
    return answer.length ? answer.sort((a, b) => a - b) : [-1] ;
  	// 첫 번째 인자가 두 번째 인자보다 작으면 음수를 반환(오름차순)
}

// for
function solution(arr, divisor) {
    let 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;
}

// 아래는 테스트 코드입니다.
console.log(solution([5, 15, 7, 55], 5));

다른사람의 풀이

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

JavaScript

.filter() : 배열의 일부에 대한 얕은 복사본을 생성하고, 주어진 배열에서 제공된 함수에 의해 구현된 테스트를 통과한 요소로만 필터링
.sort() : 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환
.push() : 메서드는 배열의 끝에 하나 이상의 요소를 추가하고, 배열의 새로운 길이를 반환

(출처 : Array.prototype.sort())
(출처 : Array.prototype.filter())
(출처 : Array.prototype.push())
(출처 : 자바스크립트 배열 정렬: sort()와 toSorted() 함수)

0개의 댓글

관련 채용 정보