프로그래머스 문제 풀이

Lv1 - 나누어 떨어지는 수 배열찾기

Dotae1 2025. 2. 15. 21:44

 

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++){ //count로 총 나누어지는 수가 몇개인지 파악
            if(arr[i] % divisor == 0){
                count++;
            }
        }

        if(count == 0){ //나누어지는 수가 없다면 -1 배열 반환
            int[] answer = {-1};
            return answer;
        }

        int[] answer = new int[count]; //총 나누어지는 수의 개수만큼 answer배열 크기 정하기

        for(int i = 0; i < arr.length; i++){ // 나누어질때마다 차례대로 저장하기 그래야 빈 인덱스없이 배열 만들수있음
            if(arr[i] % divisor == 0){
                answer[number] = arr[i];
                number++;
            }
        }

        Arrays.sort(answer); // 정렬하기
        return answer;

    }
}

 

반복문을 활용하여 풀면 간단히 풀 수 있는 문제였다.