문제 풀이 (JAVA)

import java.util.*;
class Solut ion{
    public int[] solution(int[] arr, int divisor) {
        List<Integer> list = new ArrayList<Integer>();
        for(int i=0; i<arr.length; i++){
            if(arr[i] % divisor == 0){ // 배열의 숫자가 divisor로 나누어떨어진다면
                list.add(arr[i]); // 리스트에 추가한다.
            }   
        }
        if(list.size()<1){ // 리스트가 없다는것은 나누어 떨어지는 값이 없으므로
            int [] answer = new int[1];
            answer[0]=-1; // answer에 -1 배열을 반환한다.
            return answer;
        }
        list.sort(Comparator.naturalOrder()); // 나누어 떨어지는 값을 오름차순으로 정렬한다.
        int [] answer = new int[list.size()];
        for(int i=0; i<answer.length; i++){
            answer[i]=list.get(i); // 정렬된 리스트의 값을 출력 배열에 저장한다.
        }
        return answer;
    }
}

주요 핵심 포인트

1. divisor로 나누어떨어지는 값만 리스트에 저장하였다.

2. 저장된 리스트가 없다면 나누어떨어지는 값이 없으므로 -1을 리턴하였다.

3. 리스트가 존재한다면 오름차순으로 정렬하였다.

'프로그래머스(JAVA)' 카테고리의 다른 글

[1차]다트 게임  (0) 2022.04.24
같은 숫자는 싫어  (0) 2022.04.24
두 정수 사이의 합  (0) 2022.04.24
문자열 내 마음대로 정렬하기  (0) 2022.04.24
문자열 내 p와 y의 개수  (0) 2022.04.17

+ Recent posts