Q. 정수 n과 정수 배열 numlist가 매개변수로 주어질 때, numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도
록 solution 함수를 완성해주세요.
n의 배수를 구하는 것 까지는 구현했는데
사이즈가 정의되지 않은 배열에 배수들을 넣는게 문제였습니다.
알고있는 지식으로는 풀지 못할 것 같아서 chatGPT를 활용했는데
Arraylist라는 동적 배열을 사용하더군요.
public int[] solution(int n, int[] numlist) {
ArrayList<Integer> resultList = new ArrayList<>();
// numlist의 각 요소가 n의 배수인지 확인
for (int num : numlist) {
if (num % n == 0) { // n의 배수라면
resultList.add(num); // resultList에 추가
}
}
// resultList를 배열로 변환하여 반환
int[] result = new int[resultList.size()];
for (int i = 0; i < resultList.size(); i++) {
result[i] = resultList.get(i); // ArrayList의 요소를 배열에 복사
}
return result;
}
}
Arraylist를 사용하면 사이즈가 정의되지 않은 배열에
이때 Integer부분에는 String과 같은 자료형이 들어갑니다.
add기능을 써서 요소를 추가할 수 있습니다.
또 여기서 사용한 get기능을 써서 값을 받아올 수도 있습니다.
list.remove(0);
list.clear();
등으로 배열의 값을 제거할수도 있습니다.
사이즈가 동적인 부분이 배열의 단점을 보완해 줄 수 있는
Arraylist였습니다.
Arraylist에 대해서는 강사님께서
추후에 가르쳐주신다고 하니까
다음 시간에 자세히 리뷰해보도록하겠습니다!
'Java > 실습' 카테고리의 다른 글
[Java] Phone (0) | 2024.12.06 |
---|---|
[Java] 버스 - 메소드 (0) | 2024.12.06 |
[Java] 제곱수 판별하기 (0) | 2024.12.05 |
[Java] 주사위 게임 (1) | 2024.12.05 |
[Java] 로또 (0) | 2024.12.05 |