Java/[문제]
[국비][문제] 배열에서 필요한 것 찾고, 지운 후 새로운 배열에 담기
줌인.
2024. 6. 6. 15:22
√ [문제 1]
- 기존 배열에 값은 4개이다. 하지만 매개변수로 해당 값을 하나 찾아서 제거할 것이다.
- 그러면 총 배열은 3개이다.
- 배열은 동적인 요소이므로 숫자를 바꿀 수 없기 때문에 새로운 배열을 생성해준다.
- 삭제한 배열 외 모든 값을 새로운 배열로 옮긴다.
- removeWeather메서드를 완성해주세요
public WeatherDTO[] removeWeather(WeatherDTO[] ar) {
}
[코드 완성 예시]
더보기
public WeatherDTO[] removeWeather(WeatherDTO[] ar) {
WeatherDTO[] dtos = new WeatherDTO[ar.length - 1]; //하나 줄어들게 만들 것
//카피를 할 것
WeatherDTO findCity = this.findByCity(ar);
int index = 0;
for (int i=0; i<ar.length;i++) {
if(ar[i].getCity().equals(findCity.getCity())) {
continue;
}
dtos[index] = ar[i];
index++;
}
return dtos;
}
① 고정 관념을 타파하자
② 기존 배열(ar) 중에서 내가 찾고 싶은 값을 찾아야 함
③ continue를 사용해서 찾은 값을 스킵할 수 있음
④ 그 값을 새로운 배열에 담으면 됨
⑤ 이중 for문 및 새로운 for문으로 돌경우 똑같은 숫자가 됨을 명심할 것
⑥ 정렬 알고리즘을 굳이 사용하지 않아도 되는 이유는 새로운 배열의 값들이 모두 null로 비어있기 때문
⑦ index 변수를 선언한다면, 더 깔끔하게 코드를 구현할 수 있음
728x90