Java/알고리즘

나누어 떨어지는 숫자 배열(향상된 for문 꿀팁 idx++)

티코딩 2024. 1. 16. 10:52

 

배열에 대한 이해가 필요한 문제였다. 레벨1치고 고전했던 문제다. 현타가 좀 왔다.

 

public static int[] solution(int[] arr, int divisor) {
        int[] resultArray;

        // 나누어 떨어지는 값 개수 계산
        int count = 0;
        for (int num : arr) {
            if (num % divisor == 0) {
                count++;
            }
        }
        if (count == 0) {
            resultArray = new int[]{-1};
        } else {
            // 나누어 떨어지는 값이 있는 경우 배열에 담고 정렬하기
            resultArray = new int[count];
            int index = 0;
            for (int num : arr) {
                if (num % divisor == 0) {
                    resultArray[index++] = num;
                }
            }
            Arrays.sort(resultArray);
        }

        return resultArray;
    }

 

향상된 for문에 index++ 해서 넣는걸 몰라서 ArrayList를 만들어 넣고 다시 형변환 하려는 시도도 해봤지만 이렇게 푸는게 베스트다.

향상된 for문 index++은 정말 앞으로도 많이 써먹을거같다.