배열에 대한 이해가 필요한 문제였다. 레벨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++은 정말 앞으로도 많이 써먹을거같다.
'Java > 알고리즘' 카테고리의 다른 글
핸드폰 번호 가리기 (0) | 2024.01.18 |
---|---|
없는 숫자 더하기 (0) | 2024.01.17 |
서울에서 김서방 찾기, "==" 와 ".equals()"의 차이 (0) | 2024.01.12 |
음양 더하기 (0) | 2024.01.12 |
콜라츠 추측 (0) | 2024.01.09 |