본문 바로가기

Java/실습

[Java] N의 배수 고르기

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