ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [level1] - 나누어 떨어지는 숫자 배열
    programmers/level1 2020. 4. 3. 23:31

     

     

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

     

    [ 풀이 ]

    arr divisor return
    [5,9,7,10] 5 [5,10]
    [2,36,1,3] 1 [1,2,3,36]
    [3,2,6] 10 [-1]

     

    <입출력 예 설명>

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

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

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

     

    설명 :

    입력으로 받은 arr를 for문을 통해 arr의 길이만큼 반복하고 if문 조건을 arr 각 항목을  divisor로 나눴을 때,

    나머지가 0이면 나누어 떨어진다는 소리이기 때문에 push()를 통해 answer에 집어넣는다.

    그러고 나서, sort()를 통해 arr를 정렬하고, 만약 나머지가 0이 아닌 즉, 나누어 떨어지지 않았다면,

    answer의 길이가 0이기 때문에 answer.length가 0이라는 조건이 성립되면, push()를 통해 -1을 집어넣어 return 한다.

     

    [ code ]

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

    댓글

Designed by Tistory.