본문 바로가기
내일배움캠프/회고록

6월 20일 목요일

by jhdevtrace 2024. 6. 20.

아직 수정(추가, 정리) 중!

 

 

문제

'나누어 떨어지는 숫자 배열' 문제를 풀며, 동적 배열을 써보고 싶었다.

 

결론

동적 배열을 사용하면 편할 줄 알았는데, 생각보다 관리해줄 것이 있었다. 당장 겪은 일은, 입력 받은 데이터와 다시 반환할 데이터 자료형 등을 신경 써야해서, 해당 문제를 풀 때, 두 번 데이터 정제가 필요했다.

배열을 초기화할 때, 조건을 잘 넣고 사용하기로 했다.

자바스크립트를 사용할 때, 이런 문제는 배열의 크기를 지정하지 않고 선언했었다. 자바에서는 이러한 방법을 사용하기 위해선 동적 배열 자료구조인 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