본문 바로가기

Programmers/JS

[Programmers/JS] 나누어 떨어지는 배열

728x90

https://school.programmers.co.kr/learn/courses/30/lessons/12910

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1. 문제 풀이

  • 배열 전체를 순회하면서 나누어 떨어지는 수만 answer 배열에 넣고, 만약 answer 배열의 길이가 0이라면 -1을 넣고 return 한다.
  • 길이가 1 이상이라면 정렬을 이용해 오름차순 정렬을 진행하고 return 한다.

 

2. 제출 코드

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)
        return answer
    }
    answer.sort(function(a,b) {
        return a-b
    })
    return answer
}

// JS style (ES6)

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