본문 바로가기
프로그래머 ,백준, 유튜브, 문제

나누어 떨어지는 숫자배열_프로그래머스

by 리승우 2022. 9. 23.

[필요개념]

> 자료구조

> ArrayList

> Array는 고정인덱스가 있다. 그래서 동적인 작업이 불가능하다. 처음부터 배열크기를 설정해야한다.
> ArrayList(list)는 동적으로 할당할 수 있다.

 

//참고사항
// Array는 고정인덱스가 있다. 그래서 동적인 작업이 불가능하다. 처음부터 배열크기를 설정해야한다.
// ArrayList(list)는 동적으로 할당할 수 있다.


import java.util.ArrayList;
import java.util.Arrays;

class Solution {
    public int[] solution(int[] arr, int divisor){
        int[] answer = {};

		//ArrayList 생성
        ArrayList<Integer> list = new ArrayList<>();

		//배열 첫번째 값을 divisor로 나눠서 나머지가 0이면 ArrayList에 추가한다.
        for(int i=0; i<arr.length; i++){
            if(arr[i]%divisor==0){
                list.add(arr[i]);
            }
        }


		만약 ArrayList가 비었으면, -1만 보존되도록 설정한다.
        if(list.isEmpty()){
            list.add(-1);
        }

		ArrayList의 길이를 측정한 뒤, answer 배열의 크기를 할당한다.
        answer = new int[list.size()];


		ArrayList에서 값을 한개씩 꺼내와, answer배열에 집어넣는다.
        for(int i=0; i<list.size(); i++){
            answer[i] = list.get(i);
        }

		answer배열을 오름차순으로 정렬한다.
        Arrays.sort(answer);
    
        return answer;
}
}

댓글