아직 수정(추가, 정리) 중!
문제
'나누어 떨어지는 숫자 배열' 문제를 풀며, 동적 배열을 써보고 싶었다.
결론
동적 배열을 사용하면 편할 줄 알았는데, 생각보다 관리해줄 것이 있었다. 당장 겪은 일은, 입력 받은 데이터와 다시 반환할 데이터 자료형 등을 신경 써야해서, 해당 문제를 풀 때, 두 번 데이터 정제가 필요했다.
배열을 초기화할 때, 조건을 잘 넣고 사용하기로 했다.
자바스크립트를 사용할 때, 이런 문제는 배열의 크기를 지정하지 않고 선언했었다. 자바에서는 이러한 방법을 사용하기 위해선 동적 배열 자료구조인 ArrayList 를 배워왔다.
import java.util.ArrayList;
ArrayList<Integer> list = new ArrayList<>();
import java.util.ArrayList;
import java.util.Arrays;
class Solution {
public int[] solution(int[] arr, int divisor) {
Arrays.sort(arr);
ArrayList<Integer> answer = new ArrayList<>();
for(int i=0;i<arr.length;i++){
if(arr[i]%divisor==0){
answer.add(arr[i]);
}
}
return answer;
}
}
import java.util.ArrayList;
import java.util.Arrays;
class Solution {
public int[] solution(int[] arr, int divisor) {
Arrays.sort(arr);
ArrayList<Integer> answer = new ArrayList<>();
for(int i=0;i<arr.length;i++){
if(arr[i]%divisor==0){
answer.add(arr[i]);
}
}
int[] result = new int[answer.size()];
for (int i = 0; i < answer.size(); i++) {
result[i] = answer.get(i);
}
if (result.length == 0) {
return new int[] {-1};
}
return result;
}
}
import java.util.Arrays;
int[] temp = Arrays.stream(array)
.filter(x -> x % divisor == 0)
.sorted()
.toArray();
// 나누어 떨어지는 값이 없는 경우
if (temp.length == 0) {
return new int[] {-1};
}
'내일배움캠프 > 회고록' 카테고리의 다른 글
| 6월 25일 화요일 (0) | 2024.06.25 |
|---|---|
| 6월 21일 금요일 (0) | 2024.06.21 |
| 6월 19일 수요일 (0) | 2024.06.19 |
| 6월 18일 화요일 (0) | 2024.06.18 |
| 6월 17일 월요일 (0) | 2024.06.17 |