//나누어 떨어지는 숫자배열
//>>>첫번째 시도 <<<
//1. arr 의 값 구한다. 향상된 for 문
//2. divisor로 나눈다.
//3. a>=d,값을 answer에 저장, a<d -1을 저장.
//>>>조언을 토대로 rebuilding<<<
//1.배열로 답을 나타내라.
//2.arr값 구해라.
//3. divisor로 나눌수 있냐?
//4. 나눌수 없으면 -1 넣어라.
//5. 오름차순
import java.util.ArrayList;
import java.util.Arrays;
class Solution {
public int[] solution(int[] arr, int divisor) {
// 나의 첫번째 시도
// int[] answer = {};
// for (int Num : arr){
// if(Num>=divisor){
// answer += Num/divisor;
// } else{
// answer += -1; // answer = 배열이기 때문에 오류가 난다.
// }
// }
// 최하나님의 조언을 통한 방법
ArrayList<Integer> answer = new ArrayList<>(); // 정답을 list 콜렉션에 저장 : 콜렉션으로 나타내야 한다는 생각 부족,,,
for (int i =0; i<arr.length; i++) {
if (arr[i] % divisor ==0) {
answer.add(arr[i]);
}
}
int[] array; //36~43번줄 get(i) 까지의 생각의 도달이 부족했다.
if (answer.size()==0) { //콜렉션의 길이는 size(), 배열의 길이는 length
array = new int[]{-1};
} else {
array = new int[answer.size()];
for (int i=0; i<array.length; i++) {
array[i] = answer.get(i);
}
}
Arrays.sort(array);
return array;
}
}
'개발과 > 이 문제 알고리쯤?' 카테고리의 다른 글
| 두 정수 사이의 합 : java (0) | 2023.04.09 |
|---|---|
| 평균구하기 : java (0) | 2023.04.09 |
| 핸드폰 번호가리기 : java (0) | 2023.04.09 |
| 행렬의 덧셈 : Java (0) | 2023.04.09 |
| It ain't over till it's over. (0) | 2023.04.08 |