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인분은 하게 되겠지?..
'개발공부' 카테고리의 다른 글
핸드폰 번호 가리기 JAVA (0) | 2024.09.03 |
---|---|
중간 간단정리 (0) | 2024.08.30 |
음양 더하기 자바 (0) | 2024.08.28 |
나머지가 1이 되는 수 찾기(자바) (0) | 2024.08.27 |
백준 8393번 문제 대체 뭐가 문제인가 (0) | 2024.08.25 |