프로그래머스 - 나누어 떨어지는 숫자 배열 (Java)

윤민선·5일 전

프로그래머스

목록 보기
95/98
post-thumbnail

문제 설명

정수 배열 arr의 숫자 중에서 divisor로 나누어 떨어지는 숫자만 골라 오름차순으로 정렬하여 반환하는 문제이다.

나누어 떨어지는 숫자가 하나도 없다면 [-1]을 반환한다.


접근 방법

  1. arr에서 divisor로 나누어 떨어지는 숫자의 개수를 센다.
  2. 개수가 0이면 [-1]을 반환한다.
  3. 개수만큼 answer 배열을 생성한다.
  4. 조건을 만족하는 숫자를 answer에 넣는다.
  5. Arrays.sort()로 오름차순 정렬한다.

최종 코드

import java.util.Arrays; 
 
class Solution { 
    public int[] solution(int[] arr, int divisor) { 
        int count = 0; 
         
        for (int num : arr) { 
            if (num % divisor == 0) { 
                count++; 
            } 
        } 
         
        if (count == 0) { 
            return new int[]{-1}; 
        } 
         
        int[] answer = new int[count]; 
       
        int index = 0; 
        
        for (int num : arr) { 
            if (num % divisor == 0) { 
                answer[index++] = num; 
            } 
        } 
         
        Arrays.sort(answer); 
         
        return answer; 
    } 
}

실행 결과

0개의 댓글