알고리즘/프로그래머스 Level1

[프로그래머스,자바] Level1: 나누어 떨어지는 숫자 배열

류창 2021. 8. 18. 21:00
반응형

문제분석

Divisor에 들어있는 숫자로 Arr의 배열들의 숫자중에 나눠지는 숫자를 리턴해주면 되는문제다.

 

아무것도 나눠지지않으면 새롭게 [-1] 리턴을 배열하면된다.

 

문제풀이

 

Divisor에 의해 나눠지는 숫자가 몇개인지 정확히모르니, List를 선언하고 나눠지는 숫자들을 넣었다.

 

list의 사이즈가 0이면 [-1] 를 리턴해줬다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.*;
class Solution {
    public int[] solution(int[] arr, int divisor) {
        
        List<Integer> list = new ArrayList<>();
        Arrays.sort(arr);
        for(int i=0;i<arr.length;i++){
            if(arr[i]%divisor==0){
                list.add(arr[i]);
            }
        }
        
        if(list.size()==0){
            return new int[]{-1};
        }
        
        int[] answer = new int[list.size()];
        for(int i=0;i<list.size();i++){
            answer[i]=list.get(i);
        }
        return answer;
    }
}
cs
반응형