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

김현진·2022년 1월 15일
0

코테준비

목록 보기
9/22

문제 링크 - https://programmers.co.kr/learn/courses/30/lessons/12910

  • 해결 방법
    각 행렬의 값을 divisor로 나누어, 나누어 떨어진다면 배열에 담아 반환을 하고 없다면 -1을 배열에 담아 반환을 해주면 된다.
    이 때 배열의 크기가 정해져 있지 않으므로 ArrayList를 사용하면 좋을 것 같아 ArrayList를 생성하고 배열의 각 요소가 divisor로 나누어 떨어진다면
    list.add() 하여 저장해 두고, 마지막에 list의 크기가 0이라면 [-1], 아니라면 Collections.sort()로 정렬한 후, 배열에 담아 반환해 주었다.
import java.util.*;

class Solution {
    public int[] solution(int[] arr, int divisor) {
        List<Integer> nums = new ArrayList<Integer>();
        
        for(int i=0;i<arr.length;i++){
            if(arr[i]%divisor==0){
                nums.add(arr[i]);
            }
        }
        
        Collections.sort(nums);
        
        if(nums.size()==0){
            int [] result = new int [1];
            result[0]=-1;
            return result;
        }else{
            int [] result = new int[nums.size()];
            for(int i=0;i<nums.size();i++){
                result[i] = nums.get(i);
            }
            return result;
        }
    }
}

0개의 댓글