본문 바로가기

알고리즘/Programmers

[Programmers] Level1. 나누어 떨어지는 숫자 배열 (Java)

Level1. 나누어 떨어지는 숫자 배열

문제설명 )

 

풀이Code )

import java.util.ArrayList;
import java.util.Collections;

class Solution {
    public int[] solution(int[] arr, int divisor) {

        ArrayList<Integer> list = new ArrayList<>();

        for (int i=0; i<arr.length; i++) {
            if (arr[i]%divisor == 0) {
                list.add(arr[i]);
            }
        }

        if (list.size() < 1) {
            list.add(-1);
        }

        Collections.sort(list);
        int[] answer = new int[list.size()];

            for (int i=0; i<list.size(); i++) {
                answer[i] = list.get(i);
            }
        return answer;
    }
}

 

 

풀이법 )

  1. 오름차순을 편하게 하기위해 ArrayList 선언 
  2. for문 통하여 딱 나누어 떨어지는 값 arr[i]번째 방에 담기
  3. 만약 list의 사이즈가 1보다 작은 0일경우 -1을 리스트에 담기
  4. list를 sort메소드를 통해 정렬해주기
  5. for문 통하여 list에 있는 값들 인덱스에 맞춰 answer 배열에 담기