개발공부

나누어 떨어지는 숫자 배열 JAVA

pumaclass 2024. 8. 29. 10:09
import java.util.*;

class Solution {
    public int[] solution(int[] arr, int divisor) {
        int count = 0;
        int num = 0;
        
        // 첫 번째 for 루프: 배열에서 divisor로 나누어 떨어지는 요소의 수를 세기
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % divisor == 0) {
                count++;
            }
        }
        
        // divisor로 나누어 떨어지는 요소가 없으면 -1을 포함한 배열 반환
        if (count == 0) {
            int[] answer = {-1};
            return answer;
        }
        
        // divisor로 나누어 떨어지는 요소만 포함하는 배열 생성
        int[] answer = new int[count];
        
        // 두 번째 for 루프: divisor로 나누어 떨어지는 요소를 배열에 추가
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % divisor == 0) {
                answer[num] = arr[i];
                num++;
            }
        }
        
        // 배열 정렬
        Arrays.sort(answer);
        
        return answer;
    }
}

 

"for문을 써서 나누어 떨어지는값을 구한다." 는 논리 말고

내가 직접 생각한 알고리즘이 단 하나도 없다.

일단 하나하나 이해해 가면서 쌓아가면 1인분은 하게 되겠지?..