본문 바로가기
Log/Coding Test

Day92_Programmers Lv.1 나누어 떨어지는 숫자 배열 Java

by uxia 2023. 12. 29.

프로그래머스 Lv.1 '나누어 떨어지는 숫자 배열' 자바

 

Q. array의 각 element 중 divisor로 나누어 떨어지는 값을

오름차순으로 정렬한 배열을 반환하는 함수 solution을 작성하시오.

divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하시오.

 

import java.util.*;

class Solution {
    public int[] solution(int[] arr, int divisor) {
        int count = 0;
        int number = 0;
        
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % divisor == 0) {
                count++;
            }
        }
        
        if (count == 0) {
            int[] answer = {-1};
            return answer;
        }
        
        int[] answer = new int[count];
        
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % divisor == 0) {
                answer[number] = arr[i];
                number++;
            }
        }
        
        Arrays.sort(answer);
        return answer;
    }
}

 

count와 number 변수를 선언한 후

for문을 통해 배열을 순차적으로 divisor로 나누어

나누어떨어지지 않는다면 -1을 반환하도록

나누어 떨어지면 Arrays.sort 메서드를 이용해 오름차순으로 정렬하도록 했다.