IT/Java

[프로그래머스, Level 1] 나누어 떨어지는 숫자 배열(JAVA)

배당 줍는 다람쥐 2022. 8. 31. 16:16
반응형

안녕하세요. 
배당 줍는 다람쥐입니다. 
오늘 업로드하는 문제는 프로그래머스 Level 1, 나누어 떨어지는 숫자 배열입니다. 
그러면 오늘도 문제 풀이 시작하겠습니다.


문제

https://school.programmers.co.kr/learn/courses/30/lessons/12910

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 내용은 링크 참고 부탁드립니다. 


문제풀이

핵심포인트

 

Stream (Java Platform SE 8 )

A sequence of elements supporting sequential and parallel aggregate operations. The following example illustrates an aggregate operation using Stream and IntStream: int sum = widgets.stream() .filter(w -> w.getColor() == RED) .mapToInt(w -> w.getWeight())

docs.oracle.com

코드

import java.util.*;

class Solution {
    public int[] solution(int[] arr, int divisor) {
        int[] answer = {};

        ArrayList<Integer> list = new ArrayList<>();
        for (int nIndex = 0; nIndex < arr.length; nIndex++) {
            if(arr[nIndex] % divisor == 0){
                list.add(arr[nIndex]);
            }
        }

        Collections.sort(list);
        answer = list.stream().mapToInt(Integer::intValue).toArray();

        if(answer.length == 0){
            answer = new int[1];
            answer[0] = -1;
        }

        return answer;
    }
}

 

반응형