반응형
- 첫 풀이 및 정답풀이
이 문제는 주어진 배열을 탐색하면서 divisor로 나눈 나머지가 0인 원소들을 배열에 담아 반환하면 되는 문제이다. 하지만 문제상으로 solution 메서드의 반환 값인 int [] 타입인 배열은 크기가 고정되어 있기 때문에 입출력 예와 같이 동적인 결과를 반환할 수 없다. 따라서 필자는 요소의 추가가 용이한 ArrayList 클래스를 사용했다.
import java.util.ArrayList;
import java.util.Collections;
class Solution {
// 1. 반환타입을 ArrayList<Integer>로 변경.
public ArrayList<Integer> solution(int[] arr, int divisor) {
// 2. ArrayList 객체 생성.
ArrayList<Integer> a = new ArrayList<Integer>();
// 3. arr 배열을 탐색하며 divisor과 나눈 나머지가 0인 경우 ArrayList 객체에 삽입.
for(int i=0;i<arr.length;i++){
if(arr[i] % divisor == 0) a.add(arr[i]);
}
// 4. 위 과정을 마쳤을 때 ArrayList객체의 요소가 비어있다면 -1을 삽입.
if(a.isEmpty()) a.add(-1);
// 5. 오름차순 정렬.
Collections.sort(a);
return a;
}
}
반응형