개?발/프로그래머스

나누어 떨어지는 숫자배열 (Java)

YUEIC 2024. 8. 5. 16:59

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

class Solution {

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

            //오름차순 정렬 및 값 추가를 위해 ArrayList를 활용한다.
            List<Integer> a = new ArrayList<>();

            //매개변수의 개수만큼 반복
            for(int i = 0 ; i < arr.length; i++){
                //두번째 매개변수로 나누었을 때 나머지가 0이라면
                if(arr[i] % divisor == 0){
                    //리스트에 값을 추가
                    a.add(arr[i]);
                }
            }

            //오름차순 정렬
            a.sort(Comparator.naturalOrder());


            int[] answer = a.stream().mapToInt(Integer::intValue).toArray();
            //mapToInt : stream을 intStream으로 변환 
            //즉 a를 stream으로 변환 -> intStream으로 변환 -> Integer를 int로 값 변경 -> toArray로 배열로 변경


            //배열의 길이가 0인 경우 == 결과값이 없으므로 -1을 반환
            if(answer.length == 0){     
                answer = new int[]{-1};
            }

            return answer;
        }
        
    }

 

위의 코드를 사용하기위해 코드 상단의 항목을 import 해야한다.

'개?발 > 프로그래머스' 카테고리의 다른 글

핸드폰 번호 가리기(Java)  (0) 2024.08.06
제일 작은 수 제거하기(Java)  (0) 2024.08.06
음양 더하기 (Java)  (0) 2024.08.01
콜라츠 추측 (Java)  (0) 2024.08.01
서울에서 김서방 찾기(Java)  (0) 2024.08.01